]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/Signal.java
Extract AccountHelper
[signal-cli] / src / main / java / org / asamk / Signal.java
index 4e3514f753f3ec94fd819f1f4ab037f342f5dedb..85a617c3ea1789d93f707610534921e9a3f8e024 100644 (file)
@@ -22,6 +22,10 @@ public interface Signal extends DBusInterface {
 
     String getSelfNumber();
 
+    void subscribeReceive();
+
+    void unsubscribeReceive();
+
     long sendMessage(
             String message, List<String> 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<Long> messageIds
@@ -50,10 +54,6 @@ public interface Signal extends DBusInterface {
             long targetSentTimestamp, List<String> 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;
@@ -72,10 +72,22 @@ public interface Signal extends DBusInterface {
 
     void sendEndSessionMessage(List<String> 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<String> 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;
@@ -167,6 +179,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;
@@ -514,6 +530,8 @@ public interface Signal extends DBusInterface {
 
         void quitGroup() throws Error.Failure, Error.LastGroupAdmin;
 
+        void deleteGroup() throws Error.Failure;
+
         void addMembers(List<String> recipients) throws Error.Failure;
 
         void removeMembers(List<String> recipients) throws Error.Failure;
@@ -597,5 +615,12 @@ public interface Signal extends DBusInterface {
                 super("Untrusted identity: " + message);
             }
         }
+
+        class UnregisteredRecipient extends DBusExecutionException {
+
+            public UnregisteredRecipient(final String message) {
+                super("Unregistered recipient: " + message);
+            }
+        }
     }
 }