diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-09-03 12:54:26 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-09-03 17:00:54 +0300 |
commit | f2d17bea8d5cc98cf431d796d044e28b65b8a92f (patch) | |
tree | 75dde71919c94f7141b014a7fa99f9367bf5262a /test | |
parent | e91aab1a7de2f79ae6c2e64f82e529fd92c1f6b0 (diff) | |
download | bluez-f2d17bea8d5cc98cf431d796d044e28b65b8a92f.tar.gz |
test: Add test-gatt-profile
test-gatt-profile can be used to register a GATT based profile using
GattManager1 interface.
Diffstat (limited to 'test')
-rwxr-xr-x | test/test-gatt-profile | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/test-gatt-profile b/test/test-gatt-profile new file mode 100755 index 000000000..ad320b1b8 --- /dev/null +++ b/test/test-gatt-profile @@ -0,0 +1,60 @@ +#!/usr/bin/python + +from __future__ import absolute_import, print_function, unicode_literals + +from optparse import OptionParser, make_option +import os +import sys +import uuid +import dbus +import dbus.service +import dbus.mainloop.glib +try: + from gi.repository import GObject +except ImportError: + import gobject as GObject +import bluezutils + +class GattProfile(dbus.service.Object): + @dbus.service.method("org.bluez.GattProfile1", + in_signature="", out_signature="") + def Release(self): + print("Release") + mainloop.quit() + +if __name__ == '__main__': + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) + + bus = dbus.SystemBus() + + path = bluezutils.find_adapter().object_path + + manager = dbus.Interface(bus.get_object("org.bluez", path), + "org.bluez.GattManager1") + + option_list = [ + make_option("-u", "--uuid", action="store", + type="string", dest="uuid", + default=None), + make_option("-p", "--path", action="store", + type="string", dest="path", + default="/foo/bar/profile"), + ] + + opts = dbus.Dictionary({ }, signature='sv') + + parser = OptionParser(option_list=option_list) + + (options, args) = parser.parse_args() + + profile = GattProfile(bus, options.path) + + mainloop = GObject.MainLoop() + + if not options.uuid: + options.uuid = str(uuid.uuid4()) + + uuids = { options.uuid } + manager.RegisterProfile(options.path, uuids, opts) + + mainloop.run() |