#!/usr/bin/python

import gobject
import sys
import dbus
import dbus.mainloop.glib

def mw_property_changed(name, value):
	if name == 'VoicemailMessageCount':
		print "MessageWaiting property: '%s' changed to '%d'" %\
			(name,value)
	else:
		print "MessageWaiting 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()

	mw = dbus.Interface(bus.get_object('org.ofono', modems[0][0]),
			'org.ofono.MessageWaiting')

	mw.connect_to_signal("PropertyChanged", mw_property_changed)

	properties = mw.GetProperties()

	print "Voicemail waiting: %s" % (properties['VoicemailWaiting'])
	print "Voicemail message count: %d" %\
		(properties['VoicemailMessageCount'])
	print "Voicemail mailbox number: %s" %\
		(properties['VoicemailMailboxNumber'])

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