DatabaseManager

Interface for managing database instances and cache limits.

Properties

Link copied to clipboard
abstract val cacheLimit: StateFlow<Int>

Reactive stream of the current database cache limit.

Functions

Link copied to clipboard
abstract suspend fun associateNode(nodeNum: Int)

Associates the currently-active connection with the physical node nodeNum learned from the radio handshake, so the same node reached over a different transport (BLE / TCP / USB) shares one database. The first transport to report a node claims the active DB for it; a later transport folds its own data in and switches to the claimed DB. Idempotent once a node/transport pair has been unified.

Link copied to clipboard
abstract fun getCurrentCacheLimit(): Int

Returns the current database cache limit from storage.

Link copied to clipboard
abstract fun hasDatabaseFor(address: String?): Boolean

Returns true if a database exists for the given device address.

Link copied to clipboard
abstract fun setCacheLimit(limit: Int)

Sets the database cache limit.

Link copied to clipboard
abstract suspend fun switchActiveDatabase(address: String?)

Switches the active database to the one associated with the given address.