diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-07-04 09:12:22 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-07-04 09:12:22 (GMT) |
commit | ab370bd04ee581c921894b16fd468ab61c817656 (patch) | |
tree | ec3a9a4665ffd992bc90e8cf32ca617b9ac9b404 /shell/model/devices/devicesmodel.py | |
parent | cc2b8884c02f70f7a086e3c9aeee0abd42c97135 (diff) |
Make the battery device use HAL
Diffstat (limited to 'shell/model/devices/devicesmodel.py')
-rw-r--r-- | shell/model/devices/devicesmodel.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/shell/model/devices/devicesmodel.py b/shell/model/devices/devicesmodel.py index 8b0dc9d..fab9fa4 100644 --- a/shell/model/devices/devicesmodel.py +++ b/shell/model/devices/devicesmodel.py @@ -17,6 +17,7 @@ import logging import gobject +import dbus from model.devices import device from model.devices.network import wired @@ -41,10 +42,19 @@ class DevicesModel(gobject.GObject): self._devices = {} self._sigids = {} - self.add_device(battery.Device()) + self._observe_hal_manager() self._observe_network_manager() + def _observe_hal_manager(self): + bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM) + proxy = bus.get_object('org.freedesktop.Hal', + '/org/freedesktop/Hal/Manager') + hal_manager = dbus.Interface(proxy, 'org.freedesktop.Hal.Manager') + + for udi in hal_manager.FindDeviceByCapability('battery'): + self.add_device(battery.Device(udi)) + def _observe_network_manager(self): network_manager = hardwaremanager.get_network_manager() if not network_manager: |