From adfe47b735833095244a69a4c505508d6206421a Mon Sep 17 00:00:00 2001 From: Kamal Bramwell <kamal@elixxir.io> Date: Thu, 27 Oct 2022 12:50:55 -0400 Subject: [PATCH] Implemented newGroupChat Bindings method --- .../io/elixxir/xxclient/bindings/Bindings.kt | 7 +++++++ .../elixxir/xxclient/bindings/BindingsAdapter.kt | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/xxclient/src/main/java/io/elixxir/xxclient/bindings/Bindings.kt b/xxclient/src/main/java/io/elixxir/xxclient/bindings/Bindings.kt index 29a9036..610ab5c 100644 --- a/xxclient/src/main/java/io/elixxir/xxclient/bindings/Bindings.kt +++ b/xxclient/src/main/java/io/elixxir/xxclient/bindings/Bindings.kt @@ -8,6 +8,7 @@ import io.elixxir.xxclient.cmix.CMix import io.elixxir.xxclient.dummytraffic.DummyTraffic import io.elixxir.xxclient.e2e.E2e import io.elixxir.xxclient.filetransfer.FileTransfer +import io.elixxir.xxclient.groupchat.GroupChat import io.elixxir.xxclient.models.* import io.elixxir.xxclient.userdiscovery.UserDiscovery import io.elixxir.xxclient.utils.* @@ -88,6 +89,12 @@ interface Bindings { randomRangeMS: Long ): DummyTraffic + fun newGroupChat( + e2eId: E2eId, + requestListener: GroupRequestListener, + messageListener: GroupMessageListener, + ): GroupChat + fun registerLogger(logLevel: LogLevel, logWriter: LogWriter) fun initializeBackup( diff --git a/xxclient/src/main/java/io/elixxir/xxclient/bindings/BindingsAdapter.kt b/xxclient/src/main/java/io/elixxir/xxclient/bindings/BindingsAdapter.kt index c51617e..06d1ecc 100644 --- a/xxclient/src/main/java/io/elixxir/xxclient/bindings/BindingsAdapter.kt +++ b/xxclient/src/main/java/io/elixxir/xxclient/bindings/BindingsAdapter.kt @@ -1,5 +1,6 @@ package io.elixxir.xxclient.bindings +import bindings.GroupChatProcessor import io.elixxir.xxclient.backup.Backup import io.elixxir.xxclient.backup.BackupAdapter import io.elixxir.xxclient.callbacks.* @@ -15,6 +16,8 @@ import io.elixxir.xxclient.e2e.E2e import io.elixxir.xxclient.e2e.E2eAdapter import io.elixxir.xxclient.filetransfer.FileTransfer import io.elixxir.xxclient.filetransfer.FileTransferAdapter +import io.elixxir.xxclient.groupchat.GroupChat +import io.elixxir.xxclient.groupchat.GroupChatAdapter import io.elixxir.xxclient.models.* import io.elixxir.xxclient.models.BindingsModel.Companion.decode import io.elixxir.xxclient.models.BindingsModel.Companion.encode @@ -180,6 +183,19 @@ open class BindingsAdapter : Bindings { ) } + override fun newGroupChat( + e2eId: E2eId, + requestListener: GroupRequestListener, + messageListener: GroupMessageListener, + ): GroupChat { + val groupChat = CoreBindings.newGroupChat( + e2eId, + GroupRequestAdapter(requestListener), + GroupChatProcessorAdapter(messageListener) + ) + return GroupChatAdapter(groupChat) + } + override fun registerLogger(logLevel: LogLevel, logWriter: LogWriter) { CoreBindings.logLevel(logLevel.code) CoreBindings.registerLogWriter(logWriter) -- GitLab