X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/cb70209c603e9e1b1c88ee6eefcd64ea6aff9f9d..8a216e324571db898a83f7e127018b22a0318ac5:/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 18bdbdb5..4e3514f7 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; @@ -10,8 +9,10 @@ import org.freedesktop.dbus.exceptions.DBusExecutionException; import org.freedesktop.dbus.interfaces.DBusInterface; import org.freedesktop.dbus.interfaces.Properties; import org.freedesktop.dbus.messages.DBusSignal; +import org.freedesktop.dbus.types.Variant; import java.util.List; +import java.util.Map; /** * DBus interface for the org.asamk.Signal service. @@ -164,7 +165,52 @@ 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; + + class MessageReceivedV2 extends DBusSignal { + + private final long timestamp; + private final String sender; + private final byte[] groupId; + private final String message; + private final Map> extras; + + public MessageReceivedV2( + String objectpath, + long timestamp, + String sender, + byte[] groupId, + String message, + final Map> extras + ) throws DBusException { + super(objectpath, timestamp, sender, groupId, message, extras); + this.timestamp = timestamp; + this.sender = sender; + this.groupId = groupId; + this.message = message; + this.extras = extras; + } + + public long getTimestamp() { + return timestamp; + } + + public String getSender() { + return sender; + } + + public byte[] getGroupId() { + return groupId; + } + + public String getMessage() { + return message; + } + + public Map> getExtras() { + return extras; + } + } class MessageReceived extends DBusSignal { @@ -231,6 +277,44 @@ public interface Signal extends DBusInterface { } } + class ReceiptReceivedV2 extends DBusSignal { + + private final long timestamp; + private final String sender; + private final String type; + private final Map> extras; + + public ReceiptReceivedV2( + String objectpath, + long timestamp, + String sender, + final String type, + final Map> extras + ) throws DBusException { + super(objectpath, timestamp, sender, type, extras); + this.timestamp = timestamp; + this.sender = sender; + this.type = type; + this.extras = extras; + } + + public long getTimestamp() { + return timestamp; + } + + public String getSender() { + return sender; + } + + public String getReceiptType() { + return type; + } + + public Map> getExtras() { + return extras; + } + } + class SyncMessageReceived extends DBusSignal { private final long timestamp; @@ -283,6 +367,58 @@ public interface Signal extends DBusInterface { } } + class SyncMessageReceivedV2 extends DBusSignal { + + private final long timestamp; + private final String source; + private final String destination; + private final byte[] groupId; + private final String message; + private final Map> extras; + + public SyncMessageReceivedV2( + String objectpath, + long timestamp, + String source, + String destination, + byte[] groupId, + String message, + final Map> extras + ) throws DBusException { + super(objectpath, timestamp, source, destination, groupId, message, extras); + this.timestamp = timestamp; + this.source = source; + this.destination = destination; + this.groupId = groupId; + this.message = message; + this.extras = extras; + } + + public long getTimestamp() { + return timestamp; + } + + public String getSource() { + return source; + } + + public String getDestination() { + return destination; + } + + public byte[] getGroupId() { + return groupId; + } + + public String getMessage() { + return message; + } + + public Map> getExtras() { + return extras; + } + } + class StructDevice extends Struct { @Position(0) @@ -322,6 +458,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)