#!/usr/bin/python

import gobject

import dbus
import dbus.mainloop.glib

def adapter_added(path):
	print "Adapter with path %s added" % (path)

def adapter_removed(path):
	print "Adapter with path %s removed" % (path)

def default_changed(path):
	print "Default adapter is now at path %s" % (path)

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

	bus = dbus.SystemBus()

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

	manager.connect_to_signal("AdapterAdded", adapter_added)

	manager.connect_to_signal("AdapterRemoved", adapter_removed)

	manager.connect_to_signal("DefaultAdapterChanged", default_changed)

	try:
		path = manager.DefaultAdapter()
		default_changed(path)
	except:
		pass

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