summaryrefslogtreecommitdiff
path: root/doc/gatt-api.txt
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2015-02-17 10:54:16 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2015-02-17 22:19:45 +0200
commitff7bdd356d8f85455fd7d2e2653ffb99b07fb0be (patch)
tree673d4c5b73f67ff2832a295f3a242b8c2ffae39c /doc/gatt-api.txt
parent275ad54c132d969fdb23a58c4c68485887e9efe7 (diff)
downloadbluez-ff7bdd356d8f85455fd7d2e2653ffb99b07fb0be.tar.gz
doc/gatt-api: Introduce GattProfile1 concept
Until now the GATT D-Bus API doesn't provide any way to register client role profiles so that bluetoothd would be able to add matching devices to its auto-connect list (managed by the kernel from 3.17 onward). To keep the GATT D-Bus interface as capable as the internal plugin API this patch adds a new concept of a GattProfile1 D-Bus object. By registering such an object and providing a set of mandatory service UUIDs bluetoothd will start performing matching against remote devices and add them to the auto-connect list.
Diffstat (limited to 'doc/gatt-api.txt')
-rw-r--r--doc/gatt-api.txt44
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/gatt-api.txt b/doc/gatt-api.txt
index de7f2d9ae..67938d0c8 100644
--- a/doc/gatt-api.txt
+++ b/doc/gatt-api.txt
@@ -205,6 +205,26 @@ Properties string UUID [read-only]
which a PropertiesChanged signal will be emitted.
+Profile hierarcy
+================
+
+Local profile (GATT client) instance. By registering this type of object
+an application effectively indicates support for a specific GATT profile
+and requests automatic connections to be established to devices
+supporting it.
+
+Service <application dependent>
+Interface org.bluez.GattProfile1 [Experimental]
+Object path <application dependent>
+
+Methods void Release()
+
+ This method gets called when the service daemon
+ unregisters the profile. The profile can use it to
+ do cleanup tasks. There is no need to unregister the
+ profile, because when this method gets called it has
+ already been unregistered.
+
GATT Manager hierarchy
======================
@@ -244,3 +264,27 @@ Methods void RegisterService(object service, dict options)
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.DoesNotExist
+
+ void RegisterProfile(object profile, array{string} UUIDs,
+ dict options)
+
+ Registers a GATT (client role) profile exported
+ under interface GattProfile1. The array of UUIDs
+ specifies the mandatory set of remote service
+ UUIDs that should all be available for the
+ remote device to match this profile. Matching
+ devices will be added to the auto-connection
+ list and connected whenever available.
+
+ Possible errors: org.bluez.Error.InvalidArguments
+ org.bluez.Error.AlreadyExists
+
+ void UnregisterProfile(object profile)
+
+ This unregisters the profile that has been
+ previously registered. The object path parameter
+ must match the same value that has been used
+ on registration.
+
+ Possible errors: org.bluez.Error.InvalidArguments
+ org.bluez.Error.DoesNotExist