Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/model/devices/devicesmodel.py
diff options
context:
space:
mode:
Diffstat (limited to 'shell/model/devices/devicesmodel.py')
-rw-r--r--shell/model/devices/devicesmodel.py12
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: