1
from dbus import Interface, SystemBus
6
def __init__(self, hal_device):
8
self._device = hal_device
9
self.properties = hal_device.GetAllProperties()
10
self.udi = self.properties["info.udi"]
13
def add_child(self, device):
14
self._children.append(device)
17
def get_children(self):
21
class DeviceManager(object):
23
def __init__(self, bus=None):
24
self._bus = bus or SystemBus()
25
manager = self._bus.get_object("org.freedesktop.Hal",
26
"/org/freedesktop/Hal/Manager")
27
self._manager = Interface(manager, "org.freedesktop.Hal.Manager")
29
def get_devices(self):
31
for udi in self._manager.GetAllDevices():
32
hal_device = self._bus.get_object("org.freedesktop.Hal", udi)
33
hal_device = Interface(hal_device, "org.freedesktop.Hal.Device")
34
device = Device(hal_device)
35
devices.append(device)