Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/services/nm/nminfo.py
diff options
context:
space:
mode:
Diffstat (limited to 'services/nm/nminfo.py')
-rw-r--r--services/nm/nminfo.py27
1 files changed, 18 insertions, 9 deletions
diff --git a/services/nm/nminfo.py b/services/nm/nminfo.py
index 3ba2490..a914a6c 100644
--- a/services/nm/nminfo.py
+++ b/services/nm/nminfo.py
@@ -22,6 +22,8 @@ import time
import os
import binascii
from ConfigParser import ConfigParser
+
+import nmclient
try:
from sugar import env
except ImportError:
@@ -371,18 +373,18 @@ class NMInfo(object):
del net
def get_key_for_network(self, dev_op, net_op, ssid, attempt, new_key, async_cb, async_err_cb):
- if self._networks.has_key(ssid) and not new_key:
+ if self._allowed_networks.has_key(ssid) and not new_key:
# We've got the info already
- net = self._networks[ssid]
+ net = self._allowed_networks[ssid]
async_cb(tuple(net.get_security()))
return
# Otherwise, ask the user for it
net = None
- dev = self._nm_client.get_dev(dev_op)
+ dev = self._nmclient.get_device(dev_op)
if not dev:
async_err_cb(NotFoundError("Device was unknown."))
- if dev.get_type() == DEVICE_TYPE_802_3_ETHERNET:
+ if dev.get_type() == nmclient.DEVICE_TYPE_802_3_ETHERNET:
# We don't support wired 802.1x yet...
async_err_cb(UnsupportedError("Device type is unsupported by NMI."))
@@ -390,10 +392,16 @@ class NMInfo(object):
if not net:
async_err_cb(NotFoundError("Network was unknown."))
- try:
- (key, auth_alg) = self._nm_client.get_key_for_network()
- except CanceledKeyRequestError, e:
- # user canceled the key dialog; send the error back to NM
+ self._nmclient.get_key_for_network(net)
+
+ def get_key_for_network_cb(self, key, auth_alg, canceled=False):
+ """
+ Called by the NMClient when the Wireless Network Key dialog
+ is closed.
+ """
+ if canceled:
+ e = CanceledKeyRequestError("Request was canceled.")
+ # key dialog dialog was canceled; send the error back to NM
async_err_cb(e)
return
@@ -417,4 +425,5 @@ class NMInfo(object):
async_cb(tuple(sec.get_properties()))
def cancel_get_key_for_network(self):
- pass
+ # Tell the NMClient to close the key request dialog
+ self._nmclient.cancel_get_key_for_network()