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;
String getSelfNumber();
+ void subscribeReceive();
+
+ void unsubscribeReceive();
+
long sendMessage(
String message, List<String> attachments, String recipient
) throws Error.AttachmentInvalid, Error.Failure, Error.InvalidNumber, Error.UntrustedIdentity;
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
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;
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;
byte[] groupId, String name, List<String> 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;
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 {
}
}
- @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)
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)
@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)
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;
super("Untrusted identity: " + message);
}
}
+
+ class UnregisteredRecipient extends DBusExecutionException {
+
+ public UnregisteredRecipient(final String message) {
+ super("Unregistered recipient: " + message);
+ }
+ }
}
}