Add a special test script to monitor service related signals
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 12 May 2009 22:11:19 +0000 (15:11 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 12 May 2009 22:11:19 +0000 (15:11 -0700)
test/Makefile.am
test/monitor-services [new file with mode: 0755]

index 2537323..85e8977 100644 (file)
@@ -5,6 +5,6 @@ EXTRA_DIST = get-state list-profiles list-connections select-connection \
                set-passphrase set-address set-policy set-priority \
                connect-network disconnect-network join-network \
                simple-agent show-introspection test-compat test-manager \
-               test-connman monitor-connman debug-connman
+               test-connman monitor-connman monitor-services debug-connman
 
 MAINTAINERCLEANFILES = Makefile.in
diff --git a/test/monitor-services b/test/monitor-services
new file mode 100755 (executable)
index 0000000..1f8e661
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/python
+
+import gobject
+
+import dbus
+import dbus.mainloop.glib
+
+def property_changed(name, value, path, interface):
+       iface = interface[interface.rfind(".") + 1:]
+       if iface not in ["Manager", "Service"]:
+               return
+       if name in ["Profiles", "Services",
+                               "Devices", "Networks", "Connections"]:
+               val = "["
+               for i in value:
+                       val = val + " " + i[i.rfind("/") + 1:]
+               val = val + " ]"
+       elif name in ["Strength", "Priority"]:
+               val = int(value)
+       else:
+               val = str(value)
+       print "{%s} [%s] %s = %s" % (iface, path, name, val)
+
+if __name__ == '__main__':
+       dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+       bus = dbus.SystemBus()
+
+       bus.add_signal_receiver(property_changed,
+                                       bus_name="org.moblin.connman",
+                                       signal_name = "PropertyChanged",
+                                               path_keyword="path",
+                                               interface_keyword="interface")
+
+       mainloop = gobject.MainLoop()
+       mainloop.run()