Split utility functions, fixing 06 a bit.
[cnetworkmanager.git] / svc_connection06.py
blobe094c44b187cc7e10808ecd8e20c30603f87e6c7
1 import dbus
2 from svc_connection import Connection
3 from settings import cSettings
5 class Connection_06(Connection):
6 def __init__(self, opath, conmap):
7 dbus.service.Object.__init__(self, bus, opath)
8 #print "C6", conmap
9 self.settings = cSettings(conmap)
11 # dbus.service.method
12 def getNetworkProperties(self):
13 # essid, timestamp, ?, bssids, we_cipher, ?, ...
14 # we_cipher=16: i wep_auth_algorithm
15 # we_cipher=0: i wpa_psk_key_mgt, i wpa_psk_wpa_version
16 ssid = ssid_str(self.settings.Ssid())
17 time = self.settings.Timestamp() # last sucessfully connected? seen?
18 trusted = self.settings.Trusted()
19 bssids = dbus.Array(self.settings.SeenBssids(), signature="s")
20 r = [ssid, time, trusted, bssids]
21 security = self.getKeyForNetwork("fake key")
22 r.extend(security)
23 return tuple(r)
25 # dbus.service.method
26 def getKeyForNetwork(self, fake="no"):
27 if fake == "no":
28 key = self.settings.Key()
29 else:
30 key = ""
32 # security
33 cip = self.settings.WeCipher()
34 if cip == NM_AUTH_TYPE_NONE:
35 security = tuple([cip])
36 elif cip == NM_AUTH_TYPE_WEP40 or cip == NM_AUTH_TYPE_WEP104:
37 wep_auth_algorithm = self.settings.WepAuthAlgorithm()
38 security = (cip, key, wep_auth_algorithm)
39 elif cip == NM_AUTH_TYPE_WPA_PSK_AUTO or cip == NM_AUTH_TYPE_TKIP or \
40 cip == NM_AUTH_TYPE_CCMP:
41 wpa_psk_key_mgt = self.settings.PskKeyMgt()
42 wpa_psk_wpa_version = self.settings.PskWpaVersion()
43 security = (cip, key, wpa_psk_key_mgt, wpa_psk_wpa_version)
44 elif cip == NM_AUTH_TYPE_WPA_EAP:
45 security = tuple([cip]) # TODO more...
46 elif cip == NM_AUTH_TYPE_LEAP:
47 security = tuple([cip]) # TODO more...
48 return security