Separated more client classes.
[cnetworkmanager.git] / device.py
blob23915b09ededc3b30e007297fa7c781d1e0e65ce
1 from object import *
2 from manager import NMI
4 class cDevice(cObject):
5 def __init__(self, opath):
6 cObject.__init__(self, opath)
7 self.devi = dbus.Interface(self.obj, NMI + ".Device")
8 self.dt = None
9 self.DeviceType0()
11 def get_property(self, property_name):
12 return cObject.get_property(self, NMI, property_name)
14 def set_property(self, property_name, value):
15 return cObject.set_property(self, NMI, property_name, value)
17 DEVICE_TYPE = ["UNKNOWN", "802_3_ETHERNET", "802_11_WIRELESS",
18 "GSM", "CDMA",] #OLPC: 3 is MESH
20 def DeviceType(self):
21 return self.DEVICE_TYPE[self.DeviceType0()]
23 def ip_str(self, i32):
24 ret = []
25 ret.append("%d" % (i32 % 256))
26 i32 /= 256
27 ret.append("%d" % (i32 % 256))
28 i32 /= 256
29 ret.append("%d" % (i32 % 256))
30 i32 /= 256
31 ret.append("%d" % (i32 % 256))
32 i32 /= 256
33 return ".".join(ret)
35 # TODO new class
36 def DumpIp4Config(self, opath):
37 print " Ip4Config:", opath
38 o = self.bus.get_object(NMC, opath)
39 pi = dbus.Interface(o, PI)
40 try:
41 for P in ["Address", "Netmask", "Broadcast", "Gateway",]: # beta2?
42 print " %s: %s" % (P, self.ip_str(pi.Get(NMI, P)))
43 except:
44 print " Addresses:"
45 addrs = pi.Get(NMI, "Addresses")
46 for addr in addrs:
47 print " %s/%s via %s" % tuple(map(self.ip_str, addr))
48 nss = pi.Get(NMI, "Nameservers")
49 print " Nameservers:", " ".join(map(self.ip_str, nss))
50 doms = pi.Get(NMI, "Domains")
51 print " Domains:", " ".join(doms)
53 NM_DEVICE_CAP = {1: "NM_SUPPORTED", 2: "CARRIER_DETECT", 4: "SCANNING", }
56 def Dump(self):
57 print "Device:", self.opath
60 IW_MODE = ["AUTO", "ADHOC", "INFRA", "MASTER",
61 "REPEAT", "SECOND", "MONITOR",]
63 def APs(self):
64 return []
66 def ListNets(self):
67 for ap in self.APs():
68 ap.ListNets()
70 # mixin
71 class cDeviceEth:
72 pass