]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/Manager.java
Use modern switch syntax
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / Manager.java
index 01d88e46c43b669c13395ad77f30cdb01a58c0ca..bcb8f3482c716a9b8fe0dc30d6e1e9460102bc59 100644 (file)
@@ -9,6 +9,7 @@ import org.asamk.signal.manager.api.Identity;
 import org.asamk.signal.manager.api.InactiveGroupLinkException;
 import org.asamk.signal.manager.api.InvalidDeviceLinkException;
 import org.asamk.signal.manager.api.InvalidStickerException;
+import org.asamk.signal.manager.api.InvalidUsernameException;
 import org.asamk.signal.manager.api.Message;
 import org.asamk.signal.manager.api.MessageEnvelope;
 import org.asamk.signal.manager.api.NotPrimaryDeviceException;
@@ -39,6 +40,7 @@ import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
 import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.URI;
 import java.time.Duration;
 import java.util.Collection;
@@ -76,6 +78,18 @@ public interface Manager extends Closeable {
      */
     void updateProfile(UpdateProfile updateProfile) throws IOException;
 
+    /**
+     * Set a username for the account.
+     * If the username is null, it will be deleted.
+     */
+    String setUsername(String username) throws IOException, InvalidUsernameException;
+
+    /**
+     * Set a username for the account.
+     * If the username is null, it will be deleted.
+     */
+    void deleteUsername() throws IOException;
+
     void unregister() throws IOException;
 
     void deleteAccount() throws IOException;
@@ -101,7 +115,7 @@ public interface Manager extends Closeable {
     void deleteGroup(GroupId groupId) throws IOException;
 
     Pair<GroupId, SendGroupMessageResults> createGroup(
-            String name, Set<RecipientIdentifier.Single> members, File avatarFile
+            String name, Set<RecipientIdentifier.Single> members, String avatarFile
     ) throws IOException, AttachmentInvalidException, UnregisteredRecipientException;
 
     SendGroupMessageResults updateGroup(
@@ -271,6 +285,8 @@ public interface Manager extends Closeable {
 
     void addClosedListener(Runnable listener);
 
+    InputStream retrieveAttachment(final String id) throws IOException;
+
     @Override
     void close() throws IOException;