diff options
-rw-r--r-- | hcid/Makefile.am | 6 | ||||
-rwxr-xr-x | hcid/list-devices | 52 |
2 files changed, 55 insertions, 3 deletions
diff --git a/hcid/Makefile.am b/hcid/Makefile.am index 7ccc4b11..dfa29b82 100644 --- a/hcid/Makefile.am +++ b/hcid/Makefile.am @@ -57,8 +57,8 @@ AM_YFLAGS = -d CLEANFILES = lexer.c parser.c parser.h -EXTRA_DIST = hcid.8 hcid.conf.5 hcid.conf dbus-api.txt test-device \ - service-record.dtd service-did.xml service-spp.xml \ - service-opp.xml service-ftp.xml +EXTRA_DIST = hcid.8 hcid.conf.5 hcid.conf dbus-api.txt \ + list-devices test-device service-record.dtd \ + service-did.xml service-spp.xml service-opp.xml service-ftp.xml MAINTAINERCLEANFILES = Makefile.in diff --git a/hcid/list-devices b/hcid/list-devices new file mode 100755 index 00000000..5e27b84d --- /dev/null +++ b/hcid/list-devices @@ -0,0 +1,52 @@ +#!/usr/bin/python + +import dbus + +bus = dbus.SystemBus() + + +def extract_uuids(uuid_list): + list = '' + for uuid in uuid_list: + if (uuid.endswith('-0000-1000-8000-00805f9b34fb')): + if (uuid.startswith('0000')): + val = '0x' + uuid[4:8] + else: + val = '0x' + uuid[0:8] + else: + val = str(uuid) + list = list + val + ' ' + return list + + +manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), + 'org.bluez.Manager') + +adapter_list = manager.ListAdapters() + +for i in adapter_list: + adapter = dbus.Interface(bus.get_object('org.bluez', i), + 'org.bluez.Adapter') + print '[ ' + i + ' ]' + + properties = adapter.GetProperties() + for key in properties.keys(): + print ' %s = %s' % (key, properties[key]) + + device_list = adapter.ListDevices() + + for n in device_list: + device = dbus.Interface(bus.get_object('org.bluez', n), + 'org.bluez.Device') + print ' [ ' + n + ' ]' + + properties = device.GetProperties() + for key in properties.keys(): + if (key == 'UUID'): + list = extract_uuids(properties[key]) + print ' %s = %s' % (key, list) + continue + + print ' %s = %s' % (key, properties[key]) + + print |