feat(io): Integrate com.revolutionpi.ios1 bus to daemon

Signed-off-by: Sven Sager <s.sager@kunbus.com>
This commit is contained in:
Sven Sager
2025-05-22 11:09:53 +02:00
parent e7768d8b2b
commit 6d77dcddba

View File

@@ -9,6 +9,7 @@ from time import perf_counter
from . import proginit as pi
from .dbus_middleware1.bus_provider import BusProvider
from .ios1.bus_provider_io import BusProviderIo
log = getLogger(__name__)
@@ -26,6 +27,7 @@ class MiddlewareDaemon:
self._running = True
self.bus_provider = None
self.io_bus_provider = None
self._configure()
log.debug("leave MiddlewareDaemon.__init__")
@@ -39,11 +41,16 @@ class MiddlewareDaemon:
def dbus_start(self):
log.debug("enter MiddlewareDaemon.dbus_start")
if self.bus_provider and self.bus_provider.is_alive():
return
self.bus_provider = BusProvider(use_system_bus=not pi.pargs.use_session_bus)
self.bus_provider.start()
dbus_middleware_running = self.bus_provider and self.bus_provider.is_alive()
if not dbus_middleware_running:
self.bus_provider = BusProvider(use_system_bus=not pi.pargs.use_session_bus)
self.bus_provider.start()
dbus_io_middleware_running = self.io_bus_provider and self.io_bus_provider.is_alive()
if not dbus_io_middleware_running:
self.io_bus_provider = BusProviderIo(use_system_bus=not pi.pargs.use_session_bus)
self.io_bus_provider.start()
log.debug("leave MiddlewareDaemon.dbus_start")
@@ -56,6 +63,12 @@ class MiddlewareDaemon:
if self.bus_provider.is_alive():
log.warning("dbus provider thread is still alive")
if self.io_bus_provider:
self.io_bus_provider.stop()
self.io_bus_provider.join(timeout=10.0)
if self.io_bus_provider.is_alive():
log.warning("dbus io provider thread is still alive")
log.debug("leave MiddlewareDaemon.dbus_stop")
def reload_config(self) -> None: