#!/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)
