diff options
author | Marco Pesenti Gritti <mpgritti@gmail.com> | 2008-10-22 12:23:39 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpgritti@gmail.com> | 2008-10-22 12:23:39 (GMT) |
commit | d44b488b4459c5139e1dc14f75e35898f5e85511 (patch) | |
tree | 54eb8c0feb9807c5dbbc6169cd611b4217237964 /src/jarabe/model | |
parent | cf8efed575efa4fbd5f97a522259eb351317845f (diff) |
Reuse settings
Diffstat (limited to 'src/jarabe/model')
-rw-r--r-- | src/jarabe/model/network.py | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/jarabe/model/network.py b/src/jarabe/model/network.py index f5e1796..f64ff08 100644 --- a/src/jarabe/model/network.py +++ b/src/jarabe/model/network.py @@ -44,25 +44,23 @@ NM_SECRETS_IFACE = 'org.freedesktop.NetworkManagerSettings.Connection.Secrets' _nm_settings = None class NMSettings(dbus.service.Object): - connections = [] - def __init__(self): bus = dbus.SystemBus() bus_name = dbus.service.BusName(SETTINGS_SERVICE, bus=bus) dbus.service.Object.__init__(self, bus_name, NM_SETTINGS_PATH) - connections = [] + self.connections = {} @dbus.service.method(dbus_interface=NM_SETTINGS_IFACE, in_signature='', out_signature='ao') def ListConnections(self): - return self.connections + return self.connections.values() @dbus.service.signal(NM_SETTINGS_IFACE, signature='o') def NewConnection(self, connection_path): pass - def add_connection(self, conn): - self.connections.append(conn) + def add_connection(self, ssid, conn): + self.connections[ssid] = conn self.NewConnection(conn.path) class NMSettingsConnection(dbus.service.Object): @@ -94,13 +92,23 @@ class NMSettingsConnection(dbus.service.Object): return self._secrets -def add_connection(settings, secrets=None): +def get_settings(): global _nm_settings if _nm_settings is None: _nm_settings = NMSettings() + return _nm_settings + +def find_connection(ssid): + connections = get_settings().connections + if ssid in connections: + return connections[ssid] + else: + return None + +def add_connection(ssid, settings, secrets=None): conn = NMSettingsConnection(settings, secrets) - _nm_settings.add_connection(conn) + _nm_settings.add_connection(ssid, conn) return conn |