#!/usr/bin/python

import gobject

import dbus
import dbus.mainloop.glib

def property_changed(name, value):
	print "Modem property %s changed to %s" % (name, value)

if __name__ == "__main__":
	dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

	bus = dbus.SystemBus()

	manager = dbus.Interface(bus.get_object('org.ofono', '/'),
							'org.ofono.Manager')

	modems = manager.GetModems()
	modem = dbus.Interface(bus.get_object('org.ofono', modems[0][0]),
							'org.ofono.Modem')

	modem.connect_to_signal("PropertyChanged", property_changed)

	properties = modem.GetProperties()

	if properties.has_key('Name'):
		print "Name: %s" % (properties['Name'])

	if properties.has_key('Manufacturer'):
		print "Manufacturer: %s" % (properties['Manufacturer'])

	if properties.has_key('Model'):
		print "Model: %s" % (properties['Model'])

	if properties.has_key('Revision'):
		print "Revision: %s" % (properties['Revision'])

	if properties.has_key('Serial'):
		print "Serial: %s" % (properties['Serial'])

	if properties.has_key('Powered'):
		print "Powered: %s" % (properties['Powered'])

	if properties.has_key('Online'):
		print "Online: %s" % (properties['Online'])

	if properties.has_key('Lockdown'):
		print "Lockdown: %s" % (properties['Lockdown'])

	if properties.has_key('Emergency'):
		print "Emergency: %s" % (properties['Emergency'])

	if properties.has_key('Features'):
		print "Features:"
		for feature in properties["Features"]:
			print "    [ %s ]" % (feature)

	if properties.has_key('Interfaces'):
		print "Interfaces:"
		for interface in properties["Interfaces"]:
			print "    [ %s ]" % (interface)

	mainloop = gobject.MainLoop()
	mainloop.run()
