Handle the special "<hidden>" SSID case from old IEEE80211 layer
[connman] / test / select-network
index e009d75..376d9d2 100755 (executable)
@@ -1,32 +1,42 @@
 #!/usr/bin/python
 
+import sys
 import dbus
 
+if (len(sys.argv) < 2):
+       print "Usage: %s <network>" % (sys.argv[0])
+       sys.exit(1)
+
 bus = dbus.SystemBus()
 
-manager = dbus.Interface(bus.get_object('org.freedesktop.connman', "/"),
-                                       'org.freedesktop.connman.Manager')
+manager = dbus.Interface(bus.get_object("org.moblin.connman", "/"),
+                                       "org.moblin.connman.Manager")
+
+properties = manager.GetProperties()
+
+for path in properties["Devices"]:
+       device = dbus.Interface(bus.get_object("org.moblin.connman", path),
+                                               "org.moblin.connman.Device")
+
+       properties = device.GetProperties()
 
-interfaces = manager.ListInterfaces()
+       if (properties["Type"] != "wifi" and properties["Type"] != "wimax"):
+               continue
 
-for path in interfaces:
        print "[ %s ]" % (path)
 
-       interface = dbus.Interface(bus.get_object('org.freedesktop.connman', path),
-                                       'org.freedesktop.connman.Interface')
+       for path in properties["Networks"]:
+               network = dbus.Interface(bus.get_object("org.moblin.connman", path),
+                                               "org.moblin.connman.Network")
 
-       properties = interface.GetProperties()
+               properties = network.GetProperties()
 
-       if (properties["Type"] == "80211"):
-               networks = interface.ListNetworks()
-               for i in networks:
-                       network = dbus.Interface(bus.get_object('org.freedesktop.connman', i),
-                                               'org.freedesktop.connman.Network')
+               if "Name" not in properties.keys():
+                       continue
 
-                       if (network.GetIdentifier() == "ConnMan Testing"):
-                               print "   Selecting network %s" % (i)
-                               interface.SelectNetwork(i)
-       else:
-               print "   No networks"
+               if (properties["Connected"] == dbus.Boolean(1)):
+                       continue
 
-       print
+               if (properties["Name"] == sys.argv[1]):
+                       print "Connecting %s" % (path)
+                       network.Connect()