DeviceLinkRepositoryImpl

Caches the resolved device-links catalog from the Meshtastic API (/resource/deviceLinks). The server does all the classification (type/targets/regions), so the client just seeds from a bundled snapshot, refreshes from the network, and filters the cache. Mirrors DeviceHardwareRepositoryImpl's seed → single-flight refresh pattern.

Constructors

Link copied to clipboard
constructor(remoteDataSource: DeviceLinksRemoteDataSource, assetReader: BundledAssetReader, json: Json, localDataSource: DeviceLinkLocalDataSource, dispatchers: CoroutineDispatchers)

Functions

Link copied to clipboard
open suspend override fun ensureImported()
Link copied to clipboard
open suspend override fun getLinksForTarget(platformioTarget: String, regionCode: String): List<DeviceLink>
Link copied to clipboard
open override fun observeAllLinks(): Flow<List<DeviceLink>>
Link copied to clipboard
open suspend override fun reconcile()