JvmGetDiscoveredDevicesUseCase

class JvmGetDiscoveredDevicesUseCase(recentAddressesDataSource: RecentAddressesDataSource, nodeRepository: NodeRepository, databaseManager: DatabaseManager, usbScanner: UsbScanner? = null) : CommonGetDiscoveredDevicesUseCase(source)

JVM/Desktop binding for org.meshtastic.feature.connections.model.GetDiscoveredDevicesUseCase.

The common use-case body lives in CommonGetDiscoveredDevicesUseCase (un-annotated, so it does not collide with the Android impl). This thin subclass registers it with Koin only for JVM/Desktop targets, where JvmUsbScanner supplies the USB data source.

The explicit binds is required because Koin annotations only infer interface bindings from directly-implemented interfaces — the GetDiscoveredDevicesUseCase interface is implemented on the parent CommonGetDiscoveredDevicesUseCase, which the annotation processor does not walk.

Constructors

Link copied to clipboard
constructor(recentAddressesDataSource: RecentAddressesDataSource, nodeRepository: NodeRepository, databaseManager: DatabaseManager, usbScanner: UsbScanner? = null)

Functions

Link copied to clipboard
open override fun invoke(showMock: Boolean, resolvedList: Flow<List<DiscoveredService>>): Flow<DiscoveredDevices>

Returns a flow of all discovered devices (BLE, USB, TCP).