diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-02-25 01:00:40 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-02-25 01:00:40 (GMT) |
commit | 755250947a5b49c7fc8353055f65db6c4b277cbd (patch) | |
tree | 6bc4b1b2b4587c291420b00fdc74198ce6fcc848 /shell/model/devices | |
parent | 89aa65d0f6ae70e928c8b3db6df921cc6205df51 (diff) |
Some work on the network devices
Diffstat (limited to 'shell/model/devices')
-rw-r--r-- | shell/model/devices/Makefile.am | 3 | ||||
-rw-r--r-- | shell/model/devices/battery.py | 2 | ||||
-rw-r--r-- | shell/model/devices/devicesmodel.py | 22 | ||||
-rw-r--r-- | shell/model/devices/wirednetwork.py (copied from shell/model/devices/network.py) | 8 | ||||
-rw-r--r-- | shell/model/devices/wirelessnetwork.py (renamed from shell/model/devices/network.py) | 7 |
5 files changed, 29 insertions, 13 deletions
diff --git a/shell/model/devices/Makefile.am b/shell/model/devices/Makefile.am index c987bb7..f798c96 100644 --- a/shell/model/devices/Makefile.am +++ b/shell/model/devices/Makefile.am @@ -4,4 +4,5 @@ sugar_PYTHON = \ device.py \ devicesmodel.py \ battery.py \ - network.py + wirednetwork.py \ + wirelessnetwork.py diff --git a/shell/model/devices/battery.py b/shell/model/devices/battery.py index 1d325ac..3e8d434 100644 --- a/shell/model/devices/battery.py +++ b/shell/model/devices/battery.py @@ -5,7 +5,7 @@ class Device(device.Device): device.Device.__init__(self) def get_type(self): - return 'network' + return 'battery' def get_level(self): return 0 diff --git a/shell/model/devices/devicesmodel.py b/shell/model/devices/devicesmodel.py index e5a0638..2eab979 100644 --- a/shell/model/devices/devicesmodel.py +++ b/shell/model/devices/devicesmodel.py @@ -1,8 +1,10 @@ import gobject from model.devices import device -from model.devices import network +from model.devices import wirednetwork +from model.devices import wirelessnetwork from model.devices import battery +from hardware import hardwaremanager class DevicesModel(gobject.GObject): __gsignals__ = { @@ -18,12 +20,26 @@ class DevicesModel(gobject.GObject): gobject.GObject.__init__(self) self._devices = [] - - self.add_device(network.Device()) self.add_device(battery.Device()) + self._observe_network_manager() + + def _observe_network_manager(self): + network_manager = hardwaremanager.get_network_manager() + for device in network_manager.get_devices(): + self._check_network_device(device) + + def _check_network_device(self, device): + if not device.is_valid(): + return + + if device.get_type() == DEVICE_TYPE_802_11_WIRELESS: + if device.get_active(): + self._add_device(device) + def __iter__(self): return iter(self._devices) def add_device(self, device): self._devices.append(device) + self.emit('device-appeared', device) diff --git a/shell/model/devices/network.py b/shell/model/devices/wirednetwork.py index 1d325ac..871a552 100644 --- a/shell/model/devices/network.py +++ b/shell/model/devices/wirednetwork.py @@ -1,11 +1,9 @@ from model.devices import device class Device(device.Device): - def __init__(self): + def __init__(self, nm_device): device.Device.__init__(self) + self._nm_device = device def get_type(self): - return 'network' - - def get_level(self): - return 0 + return 'wirednetwork' diff --git a/shell/model/devices/network.py b/shell/model/devices/wirelessnetwork.py index 1d325ac..6a53d34 100644 --- a/shell/model/devices/network.py +++ b/shell/model/devices/wirelessnetwork.py @@ -1,11 +1,12 @@ from model.devices import device class Device(device.Device): - def __init__(self): + def __init__(self, nm_device): device.Device.__init__(self) + self._nm_device = device def get_type(self): - return 'network' + return 'wirelessnetwork' def get_level(self): - return 0 + return self._nm_device.get_strength() |