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 29a9036b4a78b8931471df3bb71bdde639c4eb89..610ab5c2d535ec3d94a85c838e60ce8d49095882 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 c51617e4fd61280704a082e0ae6843acbf2c5eec..06d1eccfbb0d580af64c25782785b9c49bf54f73 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)