summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-09-03 12:54:26 +0300
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-09-03 17:00:54 +0300
commitf2d17bea8d5cc98cf431d796d044e28b65b8a92f (patch)
tree75dde71919c94f7141b014a7fa99f9367bf5262a /test
parente91aab1a7de2f79ae6c2e64f82e529fd92c1f6b0 (diff)
downloadbluez-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-xtest/test-gatt-profile60
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()