DeviceImpl

constructor(identifier: Identifier, initialDeviceInfo: DeviceInfoImpl, connectionSettings: ConnectionSettings, connectionManagerBuilder: (ConnectionSettings) -> DeviceConnectionManager, coroutineScope: CoroutineScope, createDeviceStateFlow: (DeviceConnectionManager, CoroutineContext) -> ConnectableDeviceStateFlowRepo = { connectionManager, context -> ConnectableDeviceStateImplRepo(connectionSettings.reconnectionSettings, connectionManager, context) })

Parameters

identifier

The Identifier of the device

initialDeviceInfo

the initial DeviceInfoImpl known about the device

connectionSettings

the ConnectionSettings to apply to the DeviceConnectionManager associated with this device

connectionManagerBuilder

creates a DeviceConnectionManager to manage connecting this device

coroutineScope

the CoroutineScope this device is running on]

createDeviceStateFlow

creates a ConnectableDeviceStateFlowRepo to manage the device connection state