[PATCH v2] doc/gatt-api: Introduce GattProfile1 concept

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Johan Hedberg <johan.hedberg@xxxxxxxxx>

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.
---
 doc/gatt-api.txt | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/doc/gatt-api.txt b/doc/gatt-api.txt
index de7f2d9ae6b3..391d7d900b87 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,26 @@ Methods		void RegisterService(object service, dict options)
 
 			Possible errors: org.bluez.Error.InvalidArguments
 					 org.bluez.Error.DoesNotExist
+
+		void RegisterProfile(object profile, array{string} UUIDs)
+
+			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
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux