]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/Signal.java
Add new dbus message received signals with extendable extras map
[signal-cli] / src / main / java / org / asamk / Signal.java
index 18bdbdb563a604fd0fb41a5d5fe1e79a348b5ce1..67b4ebc94fb442746457e119189da41681f47c9a 100644 (file)
@@ -10,8 +10,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.
@@ -166,6 +168,51 @@ public interface Signal extends DBusInterface {
 
     void submitRateLimitChallenge(String challenge, String captchaString) throws IOErrorException;
 
+    class MessageReceivedV2 extends DBusSignal {
+
+        private final long timestamp;
+        private final String sender;
+        private final byte[] groupId;
+        private final String message;
+        private final Map<String, Variant<?>> extras;
+
+        public MessageReceivedV2(
+                String objectpath,
+                long timestamp,
+                String sender,
+                byte[] groupId,
+                String message,
+                final Map<String, Variant<?>> 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<String, Variant<?>> getExtras() {
+            return extras;
+        }
+    }
+
     class MessageReceived extends DBusSignal {
 
         private final long timestamp;
@@ -231,6 +278,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<String, Variant<?>> extras;
+
+        public ReceiptReceivedV2(
+                String objectpath,
+                long timestamp,
+                String sender,
+                final String type,
+                final Map<String, Variant<?>> 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<String, Variant<?>> getExtras() {
+            return extras;
+        }
+    }
+
     class SyncMessageReceived extends DBusSignal {
 
         private final long timestamp;
@@ -283,6 +368,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<String, Variant<?>> extras;
+
+        public SyncMessageReceivedV2(
+                String objectpath,
+                long timestamp,
+                String source,
+                String destination,
+                byte[] groupId,
+                String message,
+                final Map<String, Variant<?>> 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<String, Variant<?>> getExtras() {
+            return extras;
+        }
+    }
+
     class StructDevice extends Struct {
 
         @Position(0)