Add simple test script to monitor states
authorMarcel Holtmann <marcel@holtmann.org>
Wed, 30 Jul 2008 20:54:24 +0000 (22:54 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 30 Jul 2008 20:54:24 +0000 (22:54 +0200)
test/Makefile.am
test/disable-network
test/monitor-state [new file with mode: 0755]

index 9a05de9..0833552 100644 (file)
@@ -1,6 +1,6 @@
 
-EXTRA_DIST = list-elements monitor-elements \
-               start-scanning select-network simple-agent \
+EXTRA_DIST = list-elements monitor-elements monitor-state \
+               start-scanning select-network disable-network simple-agent \
                get-state show-introspection test-compat test-supplicant
 
 MAINTAINERCLEANFILES = Makefile.in
index 645fa5d..12da1e8 100755 (executable)
@@ -13,10 +13,13 @@ for path in elements:
        element = dbus.Interface(bus.get_object("org.moblin.connman", path),
                                                "org.moblin.connman.Element")
 
-       properties = element.GetProperties()
-       if (properties["Type"] != "network"):
-               continue
+       try:
+               properties = element.GetProperties()
+               if (properties["Type"] != "network"):
+                       continue
 
-       if (properties["Connected"] == dbus.Boolean(1)):
-               print "Disconnecting %s" % (path)
-               element.Disconnect()
+               if (properties["Connected"] == dbus.Boolean(1)):
+                       print "Disconnecting %s" % (path)
+                       element.Disconnect()
+       except:
+               pass
diff --git a/test/monitor-state b/test/monitor-state
new file mode 100755 (executable)
index 0000000..d17c0e5
--- /dev/null
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+
+import gobject
+
+import dbus
+import dbus.service
+import dbus.mainloop.glib
+
+internet_path = ""
+
+def get_properties(path):
+       element = dbus.Interface(bus.get_object("org.moblin.connman", path),
+                                               "org.moblin.connman.Element")
+
+       return element.GetProperties()
+
+def element_added(path):
+       global internet_path
+       properties = get_properties(path)
+       if (properties["Type"] == "dhcp"):
+               print "Aquiring IP address"
+       if (properties["Type"] == "ipv4"):
+               print "IP address assigned"
+       if (properties["Type"] == "internet"):
+               internet_path = path
+               print "Succesfully connected"
+
+def element_updated(path):
+       properties = get_properties(path)
+       if (properties["Type"] == "network" and properties["Connected"] == 1):
+               print "Associated with %s" % (properties["SSID"])
+
+def element_removed(path):
+       global internet_path
+       if (path == internet_path):
+               internet_path = ""
+               print "Connection terminated"
+
+if __name__ == '__main__':
+       dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+       bus = dbus.SystemBus()
+
+       bus.add_signal_receiver(element_added,
+                               dbus_interface = "org.moblin.connman.Manager",
+                                               signal_name = "ElementAdded")
+
+       bus.add_signal_receiver(element_updated,
+                               dbus_interface = "org.moblin.connman.Manager",
+                                               signal_name = "ElementUpdated")
+
+       bus.add_signal_receiver(element_removed,
+                               dbus_interface = "org.moblin.connman.Manager",
+                                               signal_name = "ElementRemoved")
+
+       mainloop = gobject.MainLoop()
+       mainloop.run()