dnsproxy: Only one copy of the relevant buffers will be made to a TCP request
[framework/connectivity/connman.git] / test / test-connman
index f9ab201..67b0c85 100755 (executable)
@@ -5,139 +5,43 @@ import dbus
 
 bus = dbus.SystemBus()
 
-manager = dbus.Interface(bus.get_object("org.moblin.connman", "/"),
-                                       "org.moblin.connman.Manager")
+manager = dbus.Interface(bus.get_object("net.connman", "/"),
+                                       "net.connman.Manager")
 
 if len(sys.argv) < 2:
        print "Usage: %s <command>" % (sys.argv[0])
        print ""
        print "  state"
        print "  services"
-       print "  apn <service> [apn]"
-       print "  passphrase <service> [passphrase]"
        print "  autoconnect <service> [autoconnect]"
        print "  connect <service>"
        print "  disconnect <service>"
        print "  remove <service>"
        print ""
-       print "  scan [type]"
+       print "  scan <type>"
        print "  enable <type>"
        print "  disable <type>"
        print "  offlinemode [on|off]"
-       print ""
-       print "  dev <interface>"
-       print "  dev <interface> scan"
-       print "  dev <interface> networks"
-       print "  dev <interface> connect <network>"
-       print "  dev <interface> disconnect [network]"
-       print "  dev <interface> powered [on|off]"
        sys.exit(1)
 
-def print_properties(path, properties):
-       print "[ %s ]" % (path)
-       for key in properties.keys():
-               if key == "Networks":
-                       continue
-
-               if key in ["Powered", "Scanning", "Connected",
-                                       "Available", "Remember", "Default"]:
-                       if properties[key] == dbus.Boolean(1):
-                               val = "true"
-                       else:
-                               val = "false"
-               elif key in ["Strength", "Priority"]:
-                       val = int(properties[key])
-               else:
-                       val = str(properties[key])
-
-               print "     %s = %s" % (key, val)
-
-       if "Networks" in properties.keys():
-               list = ""
-               for path in properties["Networks"]:
-                       val = str(path)
-                       list = list + val[val.rfind("/") + 1:] + " "
-               print "     Networks = [ %s]" % (list)
-
-def print_networks(networks):
-       for path in networks:
-               network = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Network")
-
-               properties = network.GetProperties()
-
-               if properties["Connected"] == dbus.Boolean(1):
-                       connected = "*"
-               else:
-                       connected = " "
-
-               if "Name" in properties.keys():
-                       name = properties["Name"]
-               else:
-                       name = ""
-
-               strength = int(properties["Strength"])
-
-               details = ""
-               try:
-                       details += "{" + properties["WiFi.Mode"] + "} "
-               except:
-                       pass
-               try:
-                       details += "{" + properties["WiFi.Security"] + "} "
-               except:
-                       pass
-               if "WiFi.Passphrase" in properties.keys():
-                       if properties["WiFi.Passphrase"] != "":
-                               details += "{passphrase present}"
-
-               print "%s %-26s %3d%%  %s" % (connected,
-                                               name, strength, details)
-
-def select_network(networks, name):
-       for path in networks:
-               network = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Network")
-
-               properties = network.GetProperties()
-
-               if properties["Name"] != name:
-                       continue
-
-               if properties["Connected"] == dbus.Boolean(1):
-                       print "Already connected to network %s" % (name)
-                       break
-
-               print "Selecting network %s" % (name)
-
-               network.Connect()
-
-def disconnect_network(networks, name):
-       for path in networks:
-               network = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Network")
-
-               properties = network.GetProperties()
-
-               if name != "" and properties["Name"] != name:
-                       continue
-
-               if properties["Connected"] == dbus.Boolean(1):
-                       name = properties["Name"]
-                       print "Disconnecting from network %s" % (name)
-                       network.Disconnect()
-
 def print_services(services):
-       for path in services:
-               service = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Service")
-
-               properties = service.GetProperties()
-
+       for path, properties in services:
                identifier = path[path.rfind("/") + 1:]
+               state = " "
+               autoconnect = "  "
 
                if properties["Favorite"] == dbus.Boolean(1):
                        favorite = "*"
+
+                       if properties["AutoConnect"] == dbus.Boolean(1):
+                               autoconnect = " A"
+                       else:
+                               autoconnect = "  "
+
+                       if properties["State"] == "ready":
+                               state = "R"
+                       elif properties["State"] == "online":
+                               state = "O"
                else:
                        favorite = " "
 
@@ -146,7 +50,8 @@ def print_services(services):
                else:
                        name = "{" + properties["Type"] + "}"
 
-               print "%s %-26s { %s }" % (favorite, name, identifier)
+               print "%s%s%s %-26s { %s }" % (favorite, autoconnect, state,
+                                              name, identifier)
 
 if sys.argv[1] == "state":
        properties = manager.GetProperties()
@@ -154,84 +59,21 @@ if sys.argv[1] == "state":
        print "System is %s" % (properties["State"])
 
 elif sys.argv[1] in ["services", "list", "show"]:
-       properties = manager.GetProperties()
-
-       print_services(properties["Services"])
-
-elif sys.argv[1] in ["apn"]:
-       if (len(sys.argv) < 3):
-               print "Need at least service parameter"
-               sys.exit(1)
-
-       path = "/profile/default/" + sys.argv[2]
-
-       service = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Service")
-
-       if (len(sys.argv) > 3):
-               apn = sys.argv[3]
-
-               service.SetProperty("APN", apn);
-
-               print "APN %s set for %s" % (apn, sys.argv[2])
-       else:
-               properties = service.GetProperties()
-
-               if "Name" in properties.keys():
-                       name = properties["Name"]
-               else:
-                       name = "{" + properties["Type"] + "}"
-
-               if "APN" in properties.keys():
-                       apn = properties["APN"]
-               else:
-                       apn = "not set"
-
-               print "APN for %s is %s" % (name, apn)
-
-elif sys.argv[1] in ["passphrase", "pass"]:
-       if (len(sys.argv) < 3):
-               print "Need at least service parameter"
-               sys.exit(1)
-
-       path = "/profile/default/" + sys.argv[2]
-
-       service = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Service")
-
-       if (len(sys.argv) > 3):
-               passphrase = sys.argv[3]
-
-               service.SetProperty("Passphrase", passphrase);
-
-               print "Passphrase %s set for %s" % (passphrase, sys.argv[2])
-       else:
-               properties = service.GetProperties()
-
-               if "Name" in properties.keys():
-                       name = properties["Name"]
-               else:
-                       name = "{" + properties["Type"] + "}"
-
-               if "Passphrase" in properties.keys():
-                       passphrase = properties["Passphrase"]
-               else:
-                       passphrase = "not set"
-
-               print "Passphrase for %s is %s" % (name, passphrase)
+       print_services(manager.GetServices())
 
 elif sys.argv[1] in ["autoconnect", "autoconn"]:
        if (len(sys.argv) < 3):
                print "Need at least service parameter"
                sys.exit(1)
 
-       path = "/profile/default/" + sys.argv[2]
+       path = "/net/connman/service/" + sys.argv[2]
 
-       service = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Service")
+       service = dbus.Interface(bus.get_object("net.connman", path),
+                                               "net.connman.Service")
 
        if (len(sys.argv) > 3):
-               autoconnect = dbus.Boolean(sys.argv[3])
+               flag = sys.argv[3].strip().lower()
+               autoconnect = dbus.Boolean(flag not in ['false', 'f', 'n', '0'])
 
                service.SetProperty("AutoConnect", autoconnect);
 
@@ -256,10 +98,10 @@ elif sys.argv[1] in ["connect", "conn"]:
                print "Need at least service parameter"
                sys.exit(1)
 
-       path = "/profile/default/" + sys.argv[2]
+       path = "/net/connman/service/" + sys.argv[2]
 
-       service = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Service")
+       service = dbus.Interface(bus.get_object("net.connman", path),
+                                               "net.connman.Service")
 
        try:
                service.Connect(timeout=60000)
@@ -271,10 +113,10 @@ elif sys.argv[1] in ["disconnect", "disc"]:
                print "Need at least service parameter"
                sys.exit(1)
 
-       path = "/profile/default/" + sys.argv[2]
+       path = "/net/connman/service/" + sys.argv[2]
 
-       service = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Service")
+       service = dbus.Interface(bus.get_object("net.connman", path),
+                                               "net.connman.Service")
 
        try:
                service.Disconnect()
@@ -286,10 +128,10 @@ elif sys.argv[1] in ["remove"]:
                print "Need at least service parameter"
                sys.exit(1)
 
-       path = "/profile/default/" + sys.argv[2]
+       path = "/net/connman/service/" + sys.argv[2]
 
-       service = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Service")
+       service = dbus.Interface(bus.get_object("net.connman", path),
+                                               "net.connman.Service")
 
        properties = service.GetProperties()
 
@@ -304,21 +146,24 @@ elif sys.argv[1] in ["remove"]:
 
 elif sys.argv[1] == "scan":
        if len(sys.argv) > 2:
-               manager.RequestScan(sys.argv[2])
-       else:
-               manager.RequestScan("")
+               path = "/net/connman/technology/" + sys.argv[2]
+               technology = dbus.Interface(bus.get_object("net.connman", path),
+                                               "net.connman.Technology")
+               technology.Scan()
 
 elif sys.argv[1] == "enable":
        if len(sys.argv) > 2:
-               manager.EnableTechnology(sys.argv[2])
-       else:
-               manager.EnableTechnology("")
+               path = "/net/connman/technology/" + sys.argv[2]
+               technology = dbus.Interface(bus.get_object("net.connman", path),
+                                           "net.connman.Technology")
+               technology.SetProperty("Powered", True)
 
 elif sys.argv[1] == "disable":
        if len(sys.argv) > 2:
-               manager.DisableTechnology(sys.argv[2])
-       else:
-               manager.DisableTechnology("")
+               path = "/net/connman/technology/" + sys.argv[2]
+               technology = dbus.Interface(bus.get_object("net.connman", path),
+                                           "net.connman.Technology")
+               technology.SetProperty("Powered", False)
 
 elif sys.argv[1] in ["offlinemode", "flightmode"]:
        if len(sys.argv) > 2:
@@ -333,78 +178,5 @@ elif sys.argv[1] in ["offlinemode", "flightmode"]:
                properties = manager.GetProperties()
                print "Offline mode is %s" % (properties["OfflineMode"])
 
-elif sys.argv[1] == "dev":
-       properties = manager.GetProperties()
-
-       interface = ""
-       command = ""
-       value = ""
-       found = 0
-
-       if len(sys.argv) > 2:
-               interface = sys.argv[2]
-               if len(sys.argv) > 3:
-                       command = sys.argv[3]
-                       if len(sys.argv) > 4:
-                               value = sys.argv[4]
-
-       for path in properties["Devices"]:
-               device = dbus.Interface(bus.get_object("org.moblin.connman", path),
-                                               "org.moblin.connman.Device")
-
-               properties = device.GetProperties()
-
-               if interface != "" and properties["Interface"] != interface:
-                       continue
-
-               if command == "scan":
-                       if properties["Type"] in ["wifi", "wimax"]:
-                               interface = properties["Interface"]
-                               print "Scan for device %s" % (interface)
-                               device.ProposeScan()
-                       else:
-                               print "No scanning for device %s" % (interface)
-               elif command in ["networks", "net"]:
-                       if "Networks" in properties.keys():
-                               print_networks(properties["Networks"])
-                       else:
-                               print "Device has no networks"
-               elif command in ["connect", "conn"] and value != "":
-                       if "Networks" in properties.keys():
-                               select_network(properties["Networks"], value)
-                       else:
-                               print "Device can't connect networks"
-               elif command in ["connect", "conn"]:
-                       print "Need to specify network"
-               elif command in ["disconnect", "disc"] and value != "":
-                       if "Networks" in properties.keys():
-                               disconnect_network(properties["Networks"], value)
-                       else:
-                               print "Device has no networks"
-               elif command in ["discconnect", "disc"]:
-                       if "Networks" in properties.keys():
-                               disconnect_network(properties["Networks"], "")
-                       else:
-                               print "Device has no networks"
-               elif command == "powered" and value != "":
-                       if value == "on":
-                               powered = dbus.Boolean(1)
-                       elif value == "off":
-                               powered = dbus.Boolean(0)
-                       else:
-                               powered = dbus.Boolean(value)
-                       device.SetProperty("Powered", powered)
-               elif command == "powered":
-                       interface = properties["Interface"]
-                       if properties["Powered"] == dbus.Boolean(1):
-                               powered = "on"
-                       else:
-                               powered = "off"
-                       print "Device %s is powered %s" % (interface, powered)
-               elif command == "list" or command == "":
-                       print_properties(path, properties)
-               else:
-                       print "Unknown command"
-
 else:
        print "Unknown command"