Take reference when network is connected and assigned to device
[connman] / test / select-network
index afa287c..376d9d2 100755 (executable)
@@ -12,19 +12,31 @@ bus = dbus.SystemBus()
 manager = dbus.Interface(bus.get_object("org.moblin.connman", "/"),
                                        "org.moblin.connman.Manager")
 
-elements = manager.ListElements()
+properties = manager.GetProperties()
 
-for path in elements:
-       element = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Element")
+for path in properties["Devices"]:
+       device = dbus.Interface(bus.get_object("org.moblin.connman", path),
+                                               "org.moblin.connman.Device")
 
-       properties = element.GetProperties()
-       if (properties["Type"] != "network"):
-               continue
+       properties = device.GetProperties()
 
-       if (properties["Enabled"] == dbus.Boolean(1)):
+       if (properties["Type"] != "wifi" and properties["Type"] != "wimax"):
                continue
 
-       if (properties["Identifier"] == sys.argv[1]):
-               print "Enabling %s" % (path)
-               element.Enable()
+       print "[ %s ]" % (path)
+
+       for path in properties["Networks"]:
+               network = dbus.Interface(bus.get_object("org.moblin.connman", path),
+                                               "org.moblin.connman.Network")
+
+               properties = network.GetProperties()
+
+               if "Name" not in properties.keys():
+                       continue
+
+               if (properties["Connected"] == dbus.Boolean(1)):
+                       continue
+
+               if (properties["Name"] == sys.argv[1]):
+                       print "Connecting %s" % (path)
+                       network.Connect()