refactor(cli): D-Bus helpers support session and system bus types
Introduced `BusType` enum to differentiate between session and system bus usage in D-Bus calls. Updated `simple_call` and `await_signal` functions to include a `bus_type` parameter, improving flexibility. Adjusted `cli_picontrol` to leverage the new `BusType` parameter for D-Bus interactions.
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
from argparse import ArgumentParser
|
||||
from logging import getLogger
|
||||
|
||||
from .dbus_helper import await_signal, simple_call
|
||||
from .dbus_helper import BusType, await_signal, simple_call
|
||||
from .. import proginit as pi
|
||||
from ..dbus_middleware1 import extend_interface
|
||||
|
||||
@@ -36,12 +36,20 @@ def add_subparsers(parent_parser: ArgumentParser):
|
||||
|
||||
def method_reset():
|
||||
log.debug("D-Bus call of method ResetDriver")
|
||||
simple_call("ResetDriver", interface=extend_interface("picontrol"))
|
||||
simple_call(
|
||||
"ResetDriver",
|
||||
interface=extend_interface("picontrol"),
|
||||
bus_type=BusType.SESSION if pi.pargs.use_session_bus else BusType.SYSTEM,
|
||||
)
|
||||
log.info("ResetDriver called via D-Bus")
|
||||
|
||||
|
||||
def method_await_reset(timout: int = 0):
|
||||
detected_signal = await_signal("NotifyDriverReset", timout, extend_interface("picontrol"))
|
||||
detected_signal = await_signal(
|
||||
"NotifyDriverReset",
|
||||
timout, extend_interface("picontrol"),
|
||||
bus_type=BusType.SESSION if pi.pargs.use_session_bus else BusType.SYSTEM,
|
||||
)
|
||||
if detected_signal:
|
||||
log.info("ResetDriver signal received")
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user