Split utility functions, fixing 06 a bit.
[cnetworkmanager.git] / svc_settings06.py
blob0d7c5080ae6a4440d055e1a1fc9df913d76dbd07
1 import dbus.service
2 from svc_settings import UserSettings
3 from util import *
5 class UserSettings_06(UserSettings):
6 # conmaps is a list
7 def __init__(self, opath, conmaps):
8 dbus.service.Object.__init__(self, bus, opath)
9 #print "CONMAPS:", conmaps
10 self.conns = map(self.newCon, conmaps)
12 counter = 1
13 def newCon(self, conmap):
14 cpath = "/MyConnection/%d" % self.counter
15 self.counter = self.counter + 1
16 c = Connection_06(cpath, conmap)
17 #self.NewConnection(cpath) # announce it
18 return c
20 @dbus.service.method(dbus_interface="org.freedesktop.NetworkManagerInfo",
21 in_signature="i", out_signature='as')
22 def getNetworks(self, i):
23 # FIXME bytearray to str WHERE?
24 #n = [ssid_str(c.Ssid()) for c in self.conns]
25 n = [c.ID() for c in self.conns]
26 print "getNetworks:", n
27 return n
29 @dbus.service.method(dbus_interface="org.freedesktop.NetworkManagerInfo",
30 in_signature="", out_signature='ao') # out??
31 def getVPNConnections(self):
32 return [] # FIXME
34 @dbus.service.method(dbus_interface="org.freedesktop.NetworkManagerInfo",
35 in_signature="si")
36 #out_signature='sibasi') #varies
37 def getNetworkProperties(self, net, type):
38 print "GNP", net
39 # type is 1, NETWORK_TYPE_ALLOWED
40 c = self.GetByNet(net)
41 if c != None:
42 return c.getNetworkProperties()
43 print "Oops, could not getNetworkProperties for " + net
46 @dbus.service.method(dbus_interface="org.freedesktop.NetworkManagerInfo",
47 in_signature="oosib")
48 #out_signature="isi") varies
49 def getKeyForNetwork(self, dev, net, ssid, attempt, newkey):
50 print "GKFN", dev, net, ssid, attempt, bool(newkey)
51 if newkey:
52 m = "Cannot ask for key"
53 print m
54 raise dbus.exceptions.DBusException(m)
56 snet = opath_unescape(net[net.rfind("/")+1 : ]) # only stuff after /
57 c = self.GetByNet(snet)
58 if c != None:
59 return c.getKeyForNetwork()
60 print "Oops, could not getKeyForNetwork " + net
62 @dbus.service.method(dbus_interface="org.freedesktop.NetworkManagerInfo",
63 out_signature='')
64 #in_signature="sbs isi", varies
65 def updateNetworkInfo(self, ssid, automatic, bssid, *security):
66 print "Connected successfully"
67 return
68 print "UNI"
69 print " ssid:", ssid
70 print " automatic:", bool(automatic)
71 print " bssid:", bssid
72 print " security:", security
75 def GetByNet(self, net_name):
76 "Returns connection, or None"
77 for c in self.conns:
78 if c.isNet(net_name):
79 return c
80 return None