From ce4f7a6eff677ada615d0f60e44d53e6d85c5cb8 Mon Sep 17 00:00:00 2001 From: Ryan ZHAO Date: Thu, 10 Dec 2020 15:30:32 +1100 Subject: [PATCH] rename configuration --- .../libsession/messaging/StorageProtocol.kt | 17 ++++++++++++++++- .../libsession/snode/SnodeConfiguration.kt | 14 ++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 libsession/src/main/java/org/session/libsession/snode/SnodeConfiguration.kt diff --git a/libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt b/libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt index f9aa62107b..e0d880d94c 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt @@ -4,9 +4,12 @@ import org.session.libsession.messaging.jobs.AttachmentUploadJob import org.session.libsession.messaging.jobs.Job import org.session.libsession.messaging.jobs.MessageSendJob import org.session.libsession.messaging.opengroups.OpenGroup +import org.session.libsession.messaging.threads.Address +import org.session.libsession.messaging.threads.GroupRecord import org.session.libsignal.libsignal.ecc.ECKeyPair import org.session.libsignal.libsignal.ecc.ECPrivateKey +import org.session.libsignal.service.api.messages.SignalServiceAttachmentPointer interface StorageProtocol { @@ -21,7 +24,7 @@ interface StorageProtocol { // Signal Protocol - fun getOrGenerateRegistrationID(): Int //TODO needs impl + fun getOrGenerateRegistrationID(): Int // Shared Sender Keys fun getClosedGroupPrivateKey(publicKey: String): ECPrivateKey? @@ -71,8 +74,20 @@ interface StorageProtocol { fun getReceivedMessageTimestamps(): Set fun addReceivedMessageTimestamp(timestamp: Long) + // Closed Groups + fun getGroup(groupID: String): GroupRecord? + fun createGroup(groupId: String, title: String?, members: List
, avatar: SignalServiceAttachmentPointer?, relay: String?, admins: List
) + fun setActive(groupID: String, value: Boolean) + fun removeMember(groupID: String, member: Address) + fun updateMembers(groupID: String, members: List
) + // Settings + fun setProfileSharing(address: Address, value: Boolean) + + // Thread + fun getOrCreateThreadIdFor(address: Address): String + fun getThreadIdFor(address: Address): String? fun getSessionRequestSentTimestamp(publicKey: String): Long? fun setSessionRequestSentTimestamp(publicKey: String, newValue: Long) diff --git a/libsession/src/main/java/org/session/libsession/snode/SnodeConfiguration.kt b/libsession/src/main/java/org/session/libsession/snode/SnodeConfiguration.kt new file mode 100644 index 0000000000..ba2923cf4f --- /dev/null +++ b/libsession/src/main/java/org/session/libsession/snode/SnodeConfiguration.kt @@ -0,0 +1,14 @@ +package org.session.libsession.snode + +import org.session.libsignal.service.loki.utilities.Broadcaster + +class SnodeConfiguration(val storage: SnodeStorageProtocol, val broadcaster: Broadcaster) { + companion object { + lateinit var shared: SnodeConfiguration + + fun configure(storage: SnodeStorageProtocol, broadcaster: Broadcaster) { + if (Companion::shared.isInitialized) { return } + shared = SnodeConfiguration(storage, broadcaster) + } + } +} \ No newline at end of file