Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/model
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpgritti@gmail.com>2008-10-22 16:03:04 (GMT)
committer Marco Pesenti Gritti <mpgritti@gmail.com>2008-10-22 16:03:04 (GMT)
commit51eb47d2c0f7b7896e3a8c0ea1e2999d754af8cc (patch)
tree47a31eb2e0fa6e31fdfd431732fc269e06a5cd85 /src/jarabe/model
parentd5185f7ed4464959beed10ab30a1bc10eb9b0d36 (diff)
Make connection to WEP work. Lots of cleanups left to
in keydialog, really just an hack to make it work there.
Diffstat (limited to 'src/jarabe/model')
-rw-r--r--src/jarabe/model/network.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/jarabe/model/network.py b/src/jarabe/model/network.py
index 21047c5..a7a6bd1 100644
--- a/src/jarabe/model/network.py
+++ b/src/jarabe/model/network.py
@@ -14,6 +14,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+import logging
+
import dbus
from sugar import dispatch
@@ -49,7 +51,9 @@ class NMSettings(dbus.service.Object):
bus = dbus.SystemBus()
bus_name = dbus.service.BusName(SETTINGS_SERVICE, bus=bus)
dbus.service.Object.__init__(self, bus_name, NM_SETTINGS_PATH)
+
self.connections = {}
+ self.secrets_request = dispatch.Signal()
@dbus.service.method(dbus_interface=NM_SETTINGS_IFACE,
in_signature='', out_signature='ao')
@@ -62,8 +66,14 @@ class NMSettings(dbus.service.Object):
def add_connection(self, ssid, conn):
self.connections[ssid] = conn
+ conn.secrets_request.connect(self.__secrets_request_cb)
self.NewConnection(conn.path)
+ def __secrets_request_cb(self, sender, **kwargs):
+ self.secrets_request.send(self, connection=sender,
+ reply=kwargs['reply'],
+ error=kwargs['error'])
+
class NMSettingsConnection(dbus.service.Object):
def __init__(self, path, settings, secrets):
bus = dbus.SystemBus()
@@ -82,12 +92,18 @@ class NMSettingsConnection(dbus.service.Object):
return self._settings
@dbus.service.method(dbus_interface=NM_SECRETS_IFACE,
+ async_callbacks=('reply', 'error'),
in_signature='sasb', out_signature='a{sa{sv}}')
- def GetSecrets(self, setting_name, hints, request_new):
- if request_new or self._secrets is None:
- self.secrets_request.send(self)
+ def GetSecrets(self, setting_name, hints, request_new, reply, error):
+ logging.debug('Secrets requested for connection %s', self.path)
- return self._secrets
+ if request_new or self._secrets is None:
+ try:
+ self.secrets_request.send(self, reply=reply, error=error)
+ except Exception, e:
+ logging.error(e)
+ else:
+ reply(self._secrets)
def get_settings():
global _nm_settings