X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/eec7aec069307827034702f6fde4026f42b96bdd..5ed9db4f08e52ed0c42cb42740f85d2ad346e13c:/src/main/java/org/asamk/Signal.java diff --git a/src/main/java/org/asamk/Signal.java b/src/main/java/org/asamk/Signal.java index f512592b..c65d75c0 100644 --- a/src/main/java/org/asamk/Signal.java +++ b/src/main/java/org/asamk/Signal.java @@ -22,6 +22,10 @@ public interface Signal extends DBusInterface { String getSelfNumber(); + void subscribeReceive(); + + void unsubscribeReceive(); + long sendMessage( String message, List attachments, String recipient ) throws Error.AttachmentInvalid, Error.Failure, Error.InvalidNumber, Error.UntrustedIdentity; @@ -32,7 +36,7 @@ public interface Signal extends DBusInterface { void sendTyping( String recipient, boolean stop - ) throws Error.Failure, Error.GroupNotFound, Error.UntrustedIdentity; + ) throws Error.Failure, Error.UntrustedIdentity; void sendReadReceipt( String recipient, List messageIds @@ -50,10 +54,6 @@ public interface Signal extends DBusInterface { long targetSentTimestamp, List recipients ) throws Error.Failure, Error.InvalidNumber; - long sendGroupRemoteDeleteMessage( - long targetSentTimestamp, byte[] groupId - ) throws Error.Failure, Error.GroupNotFound, Error.InvalidGroupId; - long sendMessageReaction( String emoji, boolean remove, String targetAuthor, long targetSentTimestamp, String recipient ) throws Error.InvalidNumber, Error.Failure; @@ -62,6 +62,8 @@ public interface Signal extends DBusInterface { String emoji, boolean remove, String targetAuthor, long targetSentTimestamp, List recipients ) throws Error.InvalidNumber, Error.Failure; + long sendPaymentNotification(byte[] receipt, String note, String recipient) throws Error.Failure; + void sendContacts() throws Error.Failure; void sendSyncRequest() throws Error.Failure; @@ -72,10 +74,22 @@ public interface Signal extends DBusInterface { void sendEndSessionMessage(List recipients) throws Error.Failure, Error.InvalidNumber, Error.UntrustedIdentity; + void deleteRecipient(final String recipient) throws Error.Failure; + + void deleteContact(final String recipient) throws Error.Failure; + long sendGroupMessage( String message, List attachments, byte[] groupId ) throws Error.GroupNotFound, Error.Failure, Error.AttachmentInvalid, Error.InvalidGroupId; + void sendGroupTyping( + final byte[] groupId, final boolean stop + ) throws Error.Failure, Error.GroupNotFound, Error.UntrustedIdentity; + + long sendGroupRemoteDeleteMessage( + long targetSentTimestamp, byte[] groupId + ) throws Error.Failure, Error.GroupNotFound, Error.InvalidGroupId; + long sendGroupMessageReaction( String emoji, boolean remove, String targetAuthor, long targetSentTimestamp, byte[] groupId ) throws Error.GroupNotFound, Error.Failure, Error.InvalidNumber, Error.InvalidGroupId; @@ -113,6 +127,7 @@ public interface Signal extends DBusInterface { byte[] groupId, String name, List members, String avatar ) throws Error.AttachmentInvalid, Error.Failure, Error.InvalidNumber, Error.GroupNotFound, Error.InvalidGroupId; + @Deprecated boolean isRegistered() throws Error.Failure, Error.InvalidNumber; boolean isRegistered(String number) throws Error.Failure, Error.InvalidNumber; @@ -167,6 +182,10 @@ public interface Signal extends DBusInterface { void submitRateLimitChallenge(String challenge, String captchaString) throws Error.Failure; + void unregister() throws Error.Failure; + + void deleteAccount() throws Error.Failure; + class MessageReceivedV2 extends DBusSignal { private final long timestamp; @@ -449,7 +468,7 @@ public interface Signal extends DBusInterface { } } - @DBusProperty(name = "Id", type = Long.class, access = DBusProperty.Access.READ) + @DBusProperty(name = "Id", type = Integer.class, access = DBusProperty.Access.READ) @DBusProperty(name = "Name", type = String.class) @DBusProperty(name = "Created", type = String.class, access = DBusProperty.Access.READ) @DBusProperty(name = "LastSeen", type = String.class, access = DBusProperty.Access.READ) @@ -458,6 +477,12 @@ public interface Signal extends DBusInterface { void removeDevice() throws Error.Failure; } + @DBusProperty(name = "ReadReceipts", type = Boolean.class) + @DBusProperty(name = "UnidentifiedDeliveryIndicators", type = Boolean.class) + @DBusProperty(name = "TypingIndicators", type = Boolean.class) + @DBusProperty(name = "LinkPreviews", type = Boolean.class) + interface Configuration extends DBusInterface, Properties {} + class StructGroup extends Struct { @Position(0) @@ -500,6 +525,7 @@ public interface Signal extends DBusInterface { @DBusProperty(name = "PendingMembers", type = String[].class, access = DBusProperty.Access.READ) @DBusProperty(name = "RequestingMembers", type = String[].class, access = DBusProperty.Access.READ) @DBusProperty(name = "Admins", type = String[].class, access = DBusProperty.Access.READ) + @DBusProperty(name = "Banned", type = String[].class, access = DBusProperty.Access.READ) @DBusProperty(name = "PermissionAddMember", type = String.class) @DBusProperty(name = "PermissionEditDetails", type = String.class) @DBusProperty(name = "PermissionSendMessage", type = String.class) @@ -508,6 +534,8 @@ public interface Signal extends DBusInterface { void quitGroup() throws Error.Failure, Error.LastGroupAdmin; + void deleteGroup() throws Error.Failure; + void addMembers(List recipients) throws Error.Failure; void removeMembers(List recipients) throws Error.Failure; @@ -591,5 +619,12 @@ public interface Signal extends DBusInterface { super("Untrusted identity: " + message); } } + + class UnregisteredRecipient extends DBusExecutionException { + + public UnregisteredRecipient(final String message) { + super("Unregistered recipient: " + message); + } + } } }