def setup_dbus_signals(self): try: from xpra.x11.dbus_common import init_system_bus bus = init_system_bus() self.system_bus = bus log("setup_dbus_signals() system bus=%s", bus) except Exception as e: log.warn("dbus setup error: %s", e) return #the UPower signals: try: bus_name = 'org.freedesktop.UPower' log("bus has owner(%s)=%s", bus_name, bus.name_has_owner(bus_name)) iface_name = 'org.freedesktop.UPower' self.upower_resuming_match = bus.add_signal_receiver(self.resuming_callback, 'Resuming', iface_name, bus_name) self.upower_sleeping_match = bus.add_signal_receiver(self.sleeping_callback, 'Sleeping', iface_name, bus_name) eventlog("listening for 'Resuming' and 'Sleeping' signals on %s", iface_name) except Exception as e: eventlog("failed to setup UPower event listener: %s", e) #the "logind" signals: try: bus_name = 'org.freedesktop.login1' log("bus has owner(%s)=%s", bus_name, bus.name_has_owner(bus_name)) def sleep_event_handler(suspend): if suspend: self.sleeping_callback() else: self.resuming_callback() iface_name = 'org.freedesktop.login1.Manager' self.login1_match = bus.add_signal_receiver(sleep_event_handler, 'PrepareForSleep', iface_name, bus_name) eventlog("listening for 'PrepareForSleep' signal on %s", iface_name) except Exception as e: eventlog("failed to setup login1 event listener: %s", e)
def init_dbus_listener(): if not CUPS_DBUS: return False global dbus_init log("init_dbus_listener() dbus_init=%s", dbus_init) if dbus_init is None: try: from xpra.x11.dbus_common import init_system_bus system_bus = init_system_bus() log("system bus: %s", system_bus) sig_match = system_bus.add_signal_receiver(handle_dbus_signal, path=DBUS_PATH, dbus_interface=DBUS_IFACE) log("system_bus.add_signal_receiver(..)=%s", sig_match) dbus_init = True except Exception: if sys.platform.startswith("darwin"): log("no dbus on osx") else: log.error("failed to initialize dbus cups event listener", exc_info=True) dbus_init = False return dbus_init
def init_dbus_listener(): if not CUPS_DBUS: return False global dbus_init log("init_dbus_listener() dbus_init=%s", dbus_init) if dbus_init is None: try: from xpra.x11.dbus_common import init_system_bus system_bus = init_system_bus() log("system bus: %s", system_bus) sig_match = system_bus.add_signal_receiver( handle_dbus_signal, path=DBUS_PATH, dbus_interface=DBUS_IFACE) log("system_bus.add_signal_receiver(..)=%s", sig_match) dbus_init = True except Exception: if sys.platform.startswith("darwin"): log("no dbus on osx") else: log.error("failed to initialize dbus cups event listener", exc_info=True) dbus_init = False return dbus_init