Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/model/devices
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-03-29 14:10:34 (GMT)
committer Dan Williams <dcbw@redhat.com>2007-03-29 14:10:34 (GMT)
commitd0fdf59486984d29e37def27fa917caffd1bdb87 (patch)
tree39ce9bb9baa5114e73ebfeb68186278b77c031c7 /shell/model/devices
parentb3a500fd17ad71a43a9c6cd4b2ebd7a4cfabddf0 (diff)
Really add mesh device bits
Diffstat (limited to 'shell/model/devices')
-rw-r--r--shell/model/devices/devicesmodel.py18
-rw-r--r--shell/model/devices/network/Makefile.am1
2 files changed, 15 insertions, 4 deletions
diff --git a/shell/model/devices/devicesmodel.py b/shell/model/devices/devicesmodel.py
index 3caa039..a161609 100644
--- a/shell/model/devices/devicesmodel.py
+++ b/shell/model/devices/devicesmodel.py
@@ -3,6 +3,7 @@ import gobject
from model.devices import device
from model.devices.network import wired
from model.devices.network import wireless
+from model.devices.network import mesh
from model.devices import battery
from hardware import hardwaremanager
from hardware import nmclient
@@ -45,21 +46,28 @@ class DevicesModel(gobject.GObject):
self._remove_network_device(nm_device)
def _network_device_state_changed_cb(self, nm_device):
- if nm_device.get_state == nmclient.DEVICE_STATE_INACTIVE:
+ if nm_device.get_state() == nmclient.DEVICE_STATE_INACTIVE:
self._remove_network_device(nm_device)
def _check_network_device(self, nm_device):
if not nm_device.is_valid():
return
- if nm_device.get_type() == nmclient.DEVICE_TYPE_802_11_WIRELESS:
+ dtype = nm_device.get_type()
+ if dtype == nmclient.DEVICE_TYPE_802_11_WIRELESS \
+ or dtype == nmclient.DEVICE_TYPE_802_11_MESH_OLPC:
self._add_network_device(nm_device)
def _get_network_device(self, nm_device):
- return self._devices[nm_device.get_op()]
+ return self._devices[str(nm_device.get_op())]
def _add_network_device(self, nm_device):
- self.add_device(wireless.Device(nm_device))
+ dtype = nm_device.get_type()
+ if dtype == nmclient.DEVICE_TYPE_802_11_WIRELESS:
+ self.add_device(wireless.Device(nm_device))
+ if dtype == nmclient.DEVICE_TYPE_802_11_MESH_OLPC:
+ self.add_device(mesh.Device(nm_device))
+
nm_device.connect('state-changed',
self._network_device_state_changed_cb)
@@ -71,6 +79,8 @@ class DevicesModel(gobject.GObject):
def add_device(self, device):
self._devices[device.get_id()] = device
+ import logging
+ logging.debug("adding device %s" % device.get_id())
self.emit('device-appeared', device)
def remove_device(self, device):
diff --git a/shell/model/devices/network/Makefile.am b/shell/model/devices/network/Makefile.am
index 3801a14..04074e5 100644
--- a/shell/model/devices/network/Makefile.am
+++ b/shell/model/devices/network/Makefile.am
@@ -1,5 +1,6 @@
sugardir = $(pkgdatadir)/shell/model/devices/network
sugar_PYTHON = \
__init__.py \
+ mesh.py \
wired.py \
wireless.py