Update service statistics
[platform/upstream/connman.git] / test / test-counter
1 #!/usr/bin/python
2
3 import sys
4 import gobject
5
6 import dbus
7 import dbus.service
8 import dbus.mainloop.glib
9
10 class Counter(dbus.service.Object):
11         @dbus.service.method("org.moblin.connman.Counter",
12                                         in_signature='', out_signature='')
13         def Release(self):
14                 print("Release")
15                 mainloop.quit()
16
17         @dbus.service.method("org.moblin.connman.Counter",
18                                         in_signature='oa{sv}', out_signature='')
19         def Usage(self, path, stats):
20                 print "%s" % (path)
21                 for key in stats.keys():
22                         val = int(stats[key])
23                         print "  %s = %s" % (key, val)
24
25 if __name__ == '__main__':
26         dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
27
28         bus = dbus.SystemBus()
29         manager = dbus.Interface(bus.get_object('org.moblin.connman', "/"),
30                                         'org.moblin.connman.Manager')
31
32         interval = 2
33         if len(sys.argv) > 1:
34                 interval = sys.argv[1]
35
36         path = "/test/counter%s" % interval
37         object = Counter(bus, path)
38
39         manager.RegisterCounter(path, dbus.UInt32(interval))
40
41         mainloop = gobject.MainLoop()
42         mainloop.run()
43
44         #manager.UnregisterCounter(path)