示例#1
0
 def namespace_test(self):
     """Test namespaces."""
     self.assertEqual(get_namespace_from_name("a"), ("a", ))
     self.assertEqual(get_namespace_from_name("a.b"), ("a", "b"))
     self.assertEqual(get_namespace_from_name("a.b.c"), ("a", "b", "c"))
     self.assertEqual(get_namespace_from_name("org.freedesktop.DBus"),
                      ("org", "freedesktop", "DBus"))
示例#2
0
    def add_module(self, service_name):
        """Add a modules with the given service name."""
        # Get the object path.
        namespace = get_namespace_from_name(service_name)
        object_path = get_dbus_path(*namespace)

        # Add the observer.
        observer = DBus.get_observer(service_name, object_path)
        self._module_observers.append(observer)
示例#3
0
    def __init__(self, message_bus, service_name, is_addon=False):
        """Creates a module observer.

        :param message_bus: a message bus
        :param service_name: a DBus name of a service
        :param is_addon: is the observed module an addon?
        """
        super().__init__(message_bus, service_name)
        self._proxy = None
        self._is_addon = is_addon
        self._namespace = get_namespace_from_name(service_name)
        self._object_path = get_dbus_path(*self._namespace)
示例#4
0
    def add_addon_modules(self):
        """Add the addon modules."""
        dbus = DBus.get_dbus_proxy()
        names = dbus.ListActivatableNames()
        prefix = get_dbus_name(*ADDONS_NAMESPACE)

        for service_name in names:
            if service_name.startswith(prefix):
                # Get the object path.
                namespace = get_namespace_from_name(service_name)
                object_path = get_dbus_path(*namespace)

                # Add the observer.
                observer = DBus.get_observer(service_name, object_path)
                self._module_observers.append(observer)
示例#5
0
 def namespace_test(self):
     """Test namespaces."""
     self.assertEqual(get_namespace_from_name("a"), ("a",))
     self.assertEqual(get_namespace_from_name("a.b"), ("a", "b"))
     self.assertEqual(get_namespace_from_name("a.b.c"), ("a", "b", "c"))
     self.assertEqual(get_namespace_from_name("org.freedesktop.DBus"), ("org", "freedesktop", "DBus"))