X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/6dabf4550bf7cd710a33648b898bc21fe3772d35..f1d735f93db6ec45b391f4fc6bcd20c486d7143c:/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 fd91d8af..9bffd6af 100644 --- a/src/main/java/org/asamk/Signal.java +++ b/src/main/java/org/asamk/Signal.java @@ -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; @@ -136,6 +138,10 @@ public interface Signal extends DBusInterface { DBusPath getDevice(long deviceId); + public DBusPath getIdentity(String number); + + public List listIdentities(); + List listDevices() throws Error.Failure; DBusPath getThisDevice(); @@ -523,6 +529,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) @@ -548,6 +555,50 @@ public interface Signal extends DBusInterface { void enableLink(boolean requiresApproval) throws Error.Failure; } + class StructIdentity extends Struct { + + @Position(0) + DBusPath objectPath; + + @Position(1) + String uuid; + + @Position(2) + String number; + + public StructIdentity(final DBusPath objectPath, final String uuid, final String number) { + this.objectPath = objectPath; + this.uuid = uuid; + this.number = number; + } + + public DBusPath getObjectPath() { + return objectPath; + } + + public String getUuid() { + return uuid; + } + + public String getNumber() { + return number; + } + } + + @DBusProperty(name = "Number", type = String.class, access = DBusProperty.Access.READ) + @DBusProperty(name = "Uuid", type = String.class, access = DBusProperty.Access.READ) + @DBusProperty(name = "Fingerprint", type = Byte[].class, access = DBusProperty.Access.READ) + @DBusProperty(name = "SafetyNumber", type = String.class, access = DBusProperty.Access.READ) + @DBusProperty(name = "TrustLevel", type = String.class, access = DBusProperty.Access.READ) + @DBusProperty(name = "AddedDate", type = Integer.class, access = DBusProperty.Access.READ) + @DBusProperty(name = "ScannableSafetyNumber", type = Byte[].class, access = DBusProperty.Access.READ) + interface Identity extends DBusInterface, Properties { + + void trust() throws Error.Failure; + + void trustVerified(String safetyNumber) throws Error.Failure; + } + interface Error { class AttachmentInvalid extends DBusExecutionException { @@ -589,6 +640,13 @@ public interface Signal extends DBusInterface { } } + class NotAGroupMember extends DBusExecutionException { + + public NotAGroupMember(final String message) { + super("Not a group member: " + message); + } + } + class InvalidGroupId extends DBusExecutionException { public InvalidGroupId(final String message) {