#!/usr/bin/python import gobject import dbus import dbus.service import dbus.mainloop.glib class Counter(dbus.service.Object): @dbus.service.method("org.moblin.connman.Counter", in_signature='', out_signature='') def Release(self): print("Release") mainloop.quit() @dbus.service.method("org.moblin.connman.Counter", in_signature='a{sv}', out_signature='') def Usage(self, stats): for key in stats.keys(): if key in ["Interface"]: val = str(stats[key]) else: val = int(stats[key]) print "%s = %s" % (key, val) if __name__ == '__main__': dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.moblin.connman', "/"), 'org.moblin.connman.Manager') path = "/test/counter" object = Counter(bus, path) manager.RegisterCounter(path, dbus.UInt32(2)) mainloop = gobject.MainLoop() mainloop.run() #manager.UnregisterCounter(path)