commonMain.net.folivo.trixnity.client.key.createKeyModule.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of trixnity-client-jvm Show documentation
Show all versions of trixnity-client-jvm Show documentation
Multiplatform Kotlin SDK for matrix-protocol
package net.folivo.trixnity.client.key
import net.folivo.trixnity.client.user.LazyMemberEventHandler
import net.folivo.trixnity.core.EventHandler
import org.koin.core.module.dsl.bind
import org.koin.core.module.dsl.named
import org.koin.core.module.dsl.singleOf
import org.koin.core.qualifier.named
import org.koin.dsl.module
fun createKeyModule() = module {
singleOf(::OutdatedKeysHandler) {
bind()
bind()
named()
}
singleOf(::IncomingRoomKeyRequestEventHandler) {
bind()
named()
}
singleOf(::OutgoingRoomKeyRequestEventHandlerImpl) {
bind()
bind()
named()
}
singleOf(::IncomingSecretKeyRequestEventHandler) {
bind()
named()
}
single(named()) {
OutgoingSecretKeyRequestEventHandler(
userInfo = get(),
api = get(),
olmDecrypter = get(),
keyBackupService = get(named()),
keyStore = get(),
globalAccountDataStore = get(),
currentSyncState = get(),
clock = get(),
)
}
singleOf(::KeySecretServiceImpl) { bind() }
singleOf(::KeyTrustServiceImpl) { bind() }
singleOf(::KeyBackupServiceImpl) {
bind()
bind()
named()
}
single {
KeyServiceImpl(
userInfo = get(),
keyStore = get(),
olmCryptoStore = get(),
globalAccountDataStore = get(),
roomService = get(),
signService = get(),
keyBackupService = get(named()),
keyTrustService = get(),
api = get()
)
}
}