All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.net.folivo.trixnity.client.crypto.createCryptoModule.kt Maven / Gradle / Ivy

There is a newer version: 4.7.1
Show newest version
package net.folivo.trixnity.client.crypto

import net.folivo.trixnity.clientserverapi.client.MatrixClientServerApiClient
import net.folivo.trixnity.core.EventHandler
import net.folivo.trixnity.crypto.olm.*
import net.folivo.trixnity.crypto.sign.SignService
import net.folivo.trixnity.crypto.sign.SignServiceImpl
import net.folivo.trixnity.crypto.sign.SignServiceStore
import org.koin.core.module.dsl.bind
import org.koin.core.module.dsl.singleOf
import org.koin.core.qualifier.named
import org.koin.dsl.module

fun createCryptoModule() = module {
    singleOf(::ClientOlmKeysChangeEmitter) { bind() }
    singleOf(::ClientSignServiceStore) { bind() }
    singleOf(::SignServiceImpl) { bind() }
    singleOf(::ClientOlmEventHandlerRequestHandler) { bind() }
    singleOf(::ClientOlmEncryptionServiceRequestHandler) { bind() }
    singleOf(::ClientOlmStore) { bind() }
    singleOf(::OlmEncryptionServiceImpl) { bind() }
    singleOf(::OlmDecrypterImpl) { bind() }
    single(named()) {
        OlmEventHandler(get(), get().sync, get(), get(), get(), get(), get(), get())
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy