Centralize rntl update timers
[framework/connectivity/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='a{sv}', out_signature='')
19         def Usage(self, stats):
20                 for key in stats.keys():
21                         if key in ["Interface"]:
22                                 val = str(stats[key])
23                         else:
24                                 val = int(stats[key])
25                         print "%s = %s" % (key, val)
26
27 if __name__ == '__main__':
28         dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
29
30         bus = dbus.SystemBus()
31         manager = dbus.Interface(bus.get_object('org.moblin.connman', "/"),
32                                         'org.moblin.connman.Manager')
33
34         interval = 2
35         if len(sys.argv) > 1:
36                 interval = sys.argv[1]
37
38         path = "/test/counter%s" % interval
39         object = Counter(bus, path)
40
41         manager.RegisterCounter(path, dbus.UInt32(interval))
42
43         mainloop = gobject.MainLoop()
44         mainloop.run()
45
46         #manager.UnregisterCounter(path)