code: def connect(self, interface, event, object_path, handler):
          
          if object_path:
              def callback(connection, sender_name, object_path,
                           interface_name, signal_name, parameters):
                  return handler(*unpack_variant(parameters))
          else:
              def callback(connection, sender_name, object_path,
                           interface_name, signal_name, parameters):
                  return handler(object_path, *unpack_variant(parameters))
          return self.connection.signal_subscribe(
              self.bus_name,
              interface,
              event,
              object_path,
              None,
              Gio.DBusSignalFlags.NONE,
              callback,
          )
docs: Connect to a DBus signal. If ``object_path`` is None, subscribe for
          all objects and invoke the callback with the object_path as its first
          argument.