diff options
author | Dan Williams <dcbw@redhat.com> | 2007-03-29 14:10:34 (GMT) |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2007-03-29 14:10:34 (GMT) |
commit | d0fdf59486984d29e37def27fa917caffd1bdb87 (patch) | |
tree | 39ce9bb9baa5114e73ebfeb68186278b77c031c7 /shell/model/devices | |
parent | b3a500fd17ad71a43a9c6cd4b2ebd7a4cfabddf0 (diff) |
Really add mesh device bits
Diffstat (limited to 'shell/model/devices')
-rw-r--r-- | shell/model/devices/devicesmodel.py | 18 | ||||
-rw-r--r-- | shell/model/devices/network/Makefile.am | 1 |
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 |