Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/model/devices
diff options
context:
space:
mode:
authorMarco 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)
commit755250947a5b49c7fc8353055f65db6c4b277cbd (patch)
tree6bc4b1b2b4587c291420b00fdc74198ce6fcc848 /shell/model/devices
parent89aa65d0f6ae70e928c8b3db6df921cc6205df51 (diff)
Some work on the network devices
Diffstat (limited to 'shell/model/devices')
-rw-r--r--shell/model/devices/Makefile.am3
-rw-r--r--shell/model/devices/battery.py2
-rw-r--r--shell/model/devices/devicesmodel.py22
-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()