commonMain.net.folivo.trixnity.client.user.createUserModule.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.user
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 createUserModule() = module {
singleOf(::UserMemberEventHandler) {
bind()
bind()
named()
}
singleOf(::PresenceEventHandlerImpl) {
bind()
bind()
named()
}
singleOf(::ReceiptEventHandler) {
bind()
named()
}
singleOf(::GlobalAccountDataEventHandler) {
bind()
named()
}
single {
LoadMembersServiceImpl(
roomStore = get(),
lazyMemberEventHandlers = getAll(),
currentSyncState = get(),
api = get(),
scope = get(),
)
}
single {
UserServiceImpl(
roomStore = get(),
roomUserStore = get(),
roomStateStore = get(),
roomTimelineStore = get(),
globalAccountDataStore = get(),
loadMembersService = get(),
presenceEventHandler = get(named()),
userInfo = get(),
mappings = get(),
)
}
}