Source code for prsctrl_gui.app_state.device_manager

""""Singleton" module for the GUI's device manager.
"""
from devctrl.devices.device_manager import DeviceManager, DeviceInfo, Device

_devmg = None

[docs] def get() -> DeviceManager: """Get the initialized instance. :raises RuntimeError: If DeviceManager is not initialized. :return: Instance that was set using :func:`init`. """ if not isinstance(_devmg, DeviceManager): raise RuntimeError(f"DeviceManager not initialized. Call init() first. (_devmg = '{_devmg}')") return _devmg
[docs] def init(devmg: DeviceManager): """Initialized the instance. :raises RuntimeError: If the instance is already initialized. """ global _devmg if isinstance(_devmg, DeviceManager): raise RuntimeError(f"DeviceManager is already initialized.") _devmg = devmg