BaseScanningStateRepo

constructor(createNotInitializedState: () -> ScanningState.NotInitialized, createInitializingState: suspend ColdStateFlowRepo<ScanningState>.(ScanningState.Inactive) -> suspend () -> ScanningState, createDeinitializingState: suspend ColdStateFlowRepo<ScanningState>.(ScanningState.Active) -> suspend () -> ScanningState.Deinitialized, coroutineContext: CoroutineContext)

Parameters

createNotInitializedState

method for creating the initial ScanningState.NotInitialized State

createInitializingState

method for transitioning from a ScanningState.Inactive into a ScanningState.Initializing given an implementation of this ColdStateFlowRepo

createDeinitializingState

method for transitioning from a ScanningState.Active into a ScanningState.Deinitialized given an implementation of this ColdStateFlowRepo

coroutineContext

the CoroutineContext the CoroutineContext used to create a coroutine scope for this state machine.