Room Service Impl
class RoomServiceImpl(api: MatrixClientServerApiClient, roomStore: RoomStore, roomStateStore: RoomStateStore, roomAccountDataStore: RoomAccountDataStore, roomTimelineStore: RoomTimelineStore, roomOutboxMessageStore: RoomOutboxMessageStore, roomEventDecryptionServices: List<RoomEventDecryptionService>, mediaService: MediaService, timelineEventHandler: TimelineEventHandler, currentSyncState: CurrentSyncState, userInfo: UserInfo, scope: CoroutineScope) : RoomService
Constructors
Link copied to clipboard
fun RoomServiceImpl(api: MatrixClientServerApiClient, roomStore: RoomStore, roomStateStore: RoomStateStore, roomAccountDataStore: RoomAccountDataStore, roomTimelineStore: RoomTimelineStore, roomOutboxMessageStore: RoomOutboxMessageStore, roomEventDecryptionServices: List<RoomEventDecryptionService>, mediaService: MediaService, timelineEventHandler: TimelineEventHandler, currentSyncState: CurrentSyncState, userInfo: UserInfo, scope: CoroutineScope)
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun getLastTimelineEvent(roomId: RoomId, decryptionTimeout: Duration): Flow<Flow<TimelineEvent?>?>
Link copied to clipboard
open override fun getLastTimelineEvents(roomId: RoomId, decryptionTimeout: Duration, fetchTimeout: Duration, limitPerFetch: Long): Flow<Flow<Flow<TimelineEvent?>>?>
Returns the last timeline events as flow.
Link copied to clipboard
open override fun getNextTimelineEvent(event: TimelineEvent, decryptionTimeout: Duration, fetchTimeout: Duration, limitPerFetch: Long): Flow<TimelineEvent?>?
Link copied to clipboard
Link copied to clipboard
open override fun getPreviousTimelineEvent(event: TimelineEvent, decryptionTimeout: Duration, fetchTimeout: Duration, limitPerFetch: Long): Flow<TimelineEvent?>?
Link copied to clipboard
open override fun getTimelineEvent(eventId: EventId, roomId: RoomId, decryptionTimeout: Duration, fetchTimeout: Duration, limitPerFetch: Long): Flow<TimelineEvent?>
Link copied to clipboard
open override fun getTimelineEventRelations(eventId: EventId, roomId: RoomId): Flow<Map<RelationType, Set<TimelineEventRelation>?>?>
open override fun getTimelineEventRelations(eventId: EventId, roomId: RoomId, relationType: RelationType): Flow<Set<TimelineEventRelation>?>
Link copied to clipboard
open override fun getTimelineEvents(startFrom: EventId, roomId: RoomId, direction: GetEvents.Direction, decryptionTimeout: Duration, fetchTimeout: Duration, limitPerFetch: Long): Flow<Flow<TimelineEvent?>>
Returns a flow of timeline events wrapped in a flow, which emits, when there is a new timeline event at the end of the timeline.
Link copied to clipboard
open override fun getTimelineEventsAround(startFrom: EventId, roomId: RoomId, maxSizeBefore: StateFlow<Int>, maxSizeAfter: StateFlow<Int>, decryptionTimeout: Duration, fetchTimeout: Duration, limitPerFetch: Long): Flow<List<Flow<TimelineEvent?>>>
Returns all timeline events around a starting event. This also triggers decryption for each timeline event.
Link copied to clipboard
open override fun getTimelineEventsFromNowOn(decryptionTimeout: Duration, syncResponseBufferSize: Int): Flow<TimelineEvent>
Returns all timeline events from the moment this method is called. This also triggers decryption for each timeline event.
Link copied to clipboard
Link copied to clipboard
open suspend override fun sendMessage(roomId: RoomId, keepMediaInCache: Boolean, builder: suspend MessageBuilder.() -> Unit)
Extensions
Link copied to clipboard
inline fun <C : RoomAccountDataEventContent> RoomService.getAccountData(roomId: RoomId, key: String = ""): Flow<C?>
Link copied to clipboard
inline fun <C : StateEventContent> RoomService.getAllState(roomId: RoomId): Flow<Map<String, Event<C>?>?>