Add script for monitoring network changes
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 7 Oct 2008 12:28:19 +0000 (14:28 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 7 Oct 2008 12:28:19 +0000 (14:28 +0200)
test/Makefile.am
test/monitor-networks [new file with mode: 0755]

index 9b640ea..bcc9e5d 100644 (file)
@@ -1,6 +1,7 @@
 
 EXTRA_DIST = list-profiles list-elements monitor-elements monitor-state \
-               start-scanning select-network disable-network simple-agent \
-               get-state show-introspection test-compat test-supplicant
+               get-state select-network disable-network monitor-networks \
+               start-scanning simple-agent \
+               show-introspection test-compat test-supplicant
 
 MAINTAINERCLEANFILES = Makefile.in
diff --git a/test/monitor-networks b/test/monitor-networks
new file mode 100755 (executable)
index 0000000..ce817ef
--- /dev/null
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+
+import gobject
+
+import dbus
+import dbus.service
+import dbus.mainloop.glib
+
+def element_print(action, path):
+       print "%s [ %s ]" % (action, path)
+
+       if (action == "-"):
+               return
+
+       element = dbus.Interface(bus.get_object("org.moblin.connman", path),
+                                               "org.moblin.connman.Element")
+
+       properties = element.GetProperties()
+       if (properties["Type"] != "network"):
+               return
+
+       for key in properties.keys():
+               print "      %s = %s" % (key, properties[key])
+
+def element_added(path):
+       element_print("+", path)
+
+def element_updated(path):
+       element_print("*", path)
+
+def element_removed(path):
+       element_print("-", path)
+
+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()