3 from __future__ import absolute_import, print_function, unicode_literals
8 import dbus.mainloop.glib
10 def property_changed(name, value, path, interface):
11 iface = interface[interface.rfind(".") + 1:]
13 print("{%s.PropertyChanged} [%s] %s = %s" % (iface, path, name, val))
15 def object_signal(value, path, interface, member):
16 iface = interface[interface.rfind(".") + 1:]
18 print("{%s.%s} [%s] Path = %s" % (iface, member, path, val))
20 if __name__ == '__main__':
21 dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
23 bus = dbus.SystemBus()
25 bus.add_signal_receiver(property_changed, bus_name="org.bluez",
26 signal_name = "PropertyChanged",
28 interface_keyword="interface")
30 bus.add_signal_receiver(object_signal, bus_name="org.bluez",
31 signal_name = "AdapterAdded",
33 member_keyword="member",
34 interface_keyword="interface")
35 bus.add_signal_receiver(object_signal, bus_name="org.bluez",
36 signal_name = "AdapterRemoved",
38 member_keyword="member",
39 interface_keyword="interface")
40 bus.add_signal_receiver(object_signal, bus_name="org.bluez",
41 signal_name = "DefaultAdapterChanged",
43 member_keyword="member",
44 interface_keyword="interface")
46 bus.add_signal_receiver(object_signal, bus_name="org.bluez",
47 signal_name = "DeviceCreated",
49 member_keyword="member",
50 interface_keyword="interface")
51 bus.add_signal_receiver(object_signal, bus_name="org.bluez",
52 signal_name = "DeviceRemoved",
54 member_keyword="member",
55 interface_keyword="interface")
57 mainloop = gobject.MainLoop()