X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/48b2c7ff8ad7b653c3a0cb42775a5850f593d0a0..8f781c019f5f451c9d6323659bb248be335ad0e5:/src/main/java/org/asamk/SignalControl.java diff --git a/src/main/java/org/asamk/SignalControl.java b/src/main/java/org/asamk/SignalControl.java new file mode 100644 index 00000000..911ccb61 --- /dev/null +++ b/src/main/java/org/asamk/SignalControl.java @@ -0,0 +1,56 @@ +package org.asamk; + +import org.freedesktop.dbus.DBusPath; +import org.freedesktop.dbus.exceptions.DBusExecutionException; +import org.freedesktop.dbus.interfaces.DBusInterface; + +import java.util.List; + +/** + * DBus interface for the org.asamk.SignalControl interface. + * Including emitted Signals and returned Errors. + */ +public interface SignalControl extends DBusInterface { + + void register( + String number, boolean voiceVerification + ) throws Error.Failure, Error.InvalidNumber, Error.RequiresCaptcha; + + void registerWithCaptcha( + String number, boolean voiceVerification, String captcha + ) throws Error.Failure, Error.InvalidNumber, Error.RequiresCaptcha; + + void verify(String number, String verificationCode) throws Error.Failure, Error.InvalidNumber; + + void verifyWithPin(String number, String verificationCode, String pin) throws Error.Failure, Error.InvalidNumber; + + String link(String newDeviceName) throws Error.Failure; + + public String version(); + + List listAccounts(); + + interface Error { + + class Failure extends DBusExecutionException { + + public Failure(final String message) { + super(message); + } + } + + class InvalidNumber extends DBusExecutionException { + + public InvalidNumber(final String message) { + super(message); + } + } + + class RequiresCaptcha extends DBusExecutionException { + + public RequiresCaptcha(final String message) { + super(message); + } + } + } +}