X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/f39983f78acf438049cd709c17ddb3e9ccefedef..f207c2abc390d1b6292de6e86379d1513dc358cf:/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 67b4ebc9..fd91d8af 100644 --- a/src/main/java/org/asamk/Signal.java +++ b/src/main/java/org/asamk/Signal.java @@ -1,6 +1,5 @@ package org.asamk; -import org.asamk.signal.commands.exceptions.IOErrorException; import org.freedesktop.dbus.DBusPath; import org.freedesktop.dbus.Struct; import org.freedesktop.dbus.annotations.DBusProperty; @@ -23,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; @@ -33,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 @@ -51,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; @@ -73,10 +72,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; @@ -114,6 +125,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; @@ -166,7 +178,11 @@ public interface Signal extends DBusInterface { String uploadStickerPack(String stickerPackPath) throws Error.Failure; - void submitRateLimitChallenge(String challenge, String captchaString) throws IOErrorException; + void submitRateLimitChallenge(String challenge, String captchaString) throws Error.Failure; + + void unregister() throws Error.Failure; + + void deleteAccount() throws Error.Failure; class MessageReceivedV2 extends DBusSignal { @@ -450,7 +466,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) @@ -459,6 +475,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) @@ -509,6 +531,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; @@ -592,5 +616,12 @@ public interface Signal extends DBusInterface { super("Untrusted identity: " + message); } } + + class UnregisteredRecipient extends DBusExecutionException { + + public UnregisteredRecipient(final String message) { + super("Unregistered recipient: " + message); + } + } } }