From 1d40b147228317d9841d5a5689a129ee621ed753 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 27 Nov 2018 12:05:44 +1000 Subject: [PATCH] ratbagd: send out a GObject signal when the daemon disappears So we can handle this gracefully in Piper. Signed-off-by: Peter Hutterer --- piper/ratbagd.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/piper/ratbagd.py b/piper/ratbagd.py index 2709d67..13ee584 100644 --- a/piper/ratbagd.py +++ b/piper/ratbagd.py @@ -278,12 +278,18 @@ class Ratbagd(_RatbagdDBus): (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_PYOBJECT,)), "device-removed": (GObject.SignalFlags.RUN_FIRST, None, (GObject.TYPE_PYOBJECT,)), + "daemon-disappeared": + (GObject.SignalFlags.RUN_FIRST, None, ()), } def __init__(self): _RatbagdDBus.__init__(self, "Manager", None) result = self._get_dbus_property("Devices") or [] self._devices = [RatbagdDevice(objpath) for objpath in result] + self._proxy.connect("notify::g-name-owner", self._on_name_owner_changed) + + def _on_name_owner_changed(self, *kwargs): + self.emit("daemon-disappeared") def _on_properties_changed(self, proxy, changed_props, invalidated_props): if "Devices" in changed_props.keys():