OlmCryptoStore

class OlmCryptoStore(olmAccountRepository: OlmAccountRepository, olmForgetFallbackKeyAfterRepository: OlmForgetFallbackKeyAfterRepository, olmSessionRepository: OlmSessionRepository, inboundMegolmSessionRepository: InboundMegolmSessionRepository, inboundMegolmMessageIndexRepository: InboundMegolmMessageIndexRepository, outboundMegolmSessionRepository: OutboundMegolmSessionRepository, tm: TransactionManager, config: MatrixClientConfiguration, storeScope: CoroutineScope) : Store

Constructors

Link copied to clipboard
fun OlmCryptoStore(olmAccountRepository: OlmAccountRepository, olmForgetFallbackKeyAfterRepository: OlmForgetFallbackKeyAfterRepository, olmSessionRepository: OlmSessionRepository, inboundMegolmSessionRepository: InboundMegolmSessionRepository, inboundMegolmMessageIndexRepository: InboundMegolmMessageIndexRepository, outboundMegolmSessionRepository: OutboundMegolmSessionRepository, tm: TransactionManager, config: MatrixClientConfiguration, storeScope: CoroutineScope)

Functions

Link copied to clipboard
open suspend override fun clearCache()

Only deletes everything, that can be fetched from server.

Link copied to clipboard
open suspend override fun deleteAll()

Deletes everything.

Link copied to clipboard
fun getInboundMegolmSession(sessionId: String, roomId: RoomId): Flow<StoredInboundMegolmSession?>
Link copied to clipboard
suspend fun getOutboundMegolmSession(roomId: RoomId): StoredOutboundMegolmSession?
Link copied to clipboard
open suspend override fun init()
Link copied to clipboard
suspend fun updateInboundMegolmMessageIndex(sessionId: String, roomId: RoomId, messageIndex: Long, updater: suspend (oldMegolmSessionIndex: StoredInboundMegolmMessageIndex?) -> StoredInboundMegolmMessageIndex?)
Link copied to clipboard
suspend fun updateInboundMegolmSession(sessionId: String, roomId: RoomId, updater: suspend (oldInboundMegolmSession: StoredInboundMegolmSession?) -> StoredInboundMegolmSession?)
Link copied to clipboard
suspend fun updateOlmSessions(senderKey: Key.Curve25519Key, updater: suspend (oldSessions: Set<StoredOlmSession>?) -> Set<StoredOlmSession>?)
Link copied to clipboard
suspend fun updateOutboundMegolmSession(roomId: RoomId, updater: suspend (oldOutboundMegolmSession: StoredOutboundMegolmSession?) -> StoredOutboundMegolmSession?)

Properties

Link copied to clipboard
val account: MutableStateFlow<String?>
Link copied to clipboard
val forgetFallbackKeyAfter: MutableStateFlow<Instant?>
Link copied to clipboard
val notBackedUpInboundMegolmSessions: StateFlow<Map<InboundMegolmSessionRepositoryKey, StoredInboundMegolmSession>>

Extensions

Link copied to clipboard
suspend fun OlmCryptoStore.waitForInboundMegolmSession(roomId: RoomId, sessionId: String, firstKnownIndexLessThen: Long? = null, onNotExisting: suspend CoroutineScope.() -> Unit? = null)