[RFC BlueZ v1] doc/gatt-api.txt: Updates to GattManager1

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

 



This patch modifies GATT D-Bus API with minor additions for server-role.
Renamed GattManager1 to GattServerManager1 for clarity, added new
fields to the "options" argument to RegisterService and introduced the
NewClientConfiguration method for server-side GattCharacteristic1
implementations.

Change-Id: I298d286380941471b387846bf33288847f1ccee5
---
 doc/gatt-api.txt | 86 +++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 60 insertions(+), 26 deletions(-)

diff --git a/doc/gatt-api.txt b/doc/gatt-api.txt
index bfeaf6d..513d398 100644
--- a/doc/gatt-api.txt
+++ b/doc/gatt-api.txt
@@ -109,6 +109,27 @@ Methods		array{byte} ReadValue()
 
 			Possible Errors: org.bluez.Error.Failed
 
+		void NewClientConfiguration(object characteristic,
+							string device_address,
+							array{byte} value)
+
+			This method gets called when a remote device with BDADDR
+			|device_address| in the GATT client role writes to the
+			Client Characteristic Configuration descriptor of
+			the characteristic with object path |characteristic|,
+			which was exported by this profile.
+
+			The profile can use this to maintain a mapping of
+			clients that have configured the characteristic and
+			update its state based on the configuration value
+			|value|.
+
+			Local characteristics only.
+
+			Possible errors: org.bluez.NotAuthorized
+					 org.bluez.NotPaired
+					 org.bluez.NotSupported
+
 Properties	string UUID [read-only]
 
 			128-bit characteristic UUID.
@@ -205,41 +226,54 @@ Properties	string UUID [read-only]
 			which a PropertiesChanged signal will be emitted.
 
 
-Service Manager hierarchy
-=============================
-
-Service Manager allows external applications to register GATT based
-services. Services must follow the API for Service and Characteristic
-described above.
+GATT Service Manager hierarchy
+==============================
 
-Local GATT services, characteristics and characteristic descriptors are
-discovered automatically using the D-Bus Object Manager interface.
+GATT Service Manager allows external applications to implement local GATT-based
+services. An application may choose to implement one or more GATT services in
+the form of org.bluez.GattService1 object hierarchies and publish them in the
+local database in the server-role.
 
 Service		org.bluez
-Interface	org.bluez.GattManager1 [Experimental]
+Interface	org.bluez.GattServiceManager1 [Experimental]
 Object path	/org/bluez
 
-Methods		RegisterService(object service, dict options)
+Methods		void RegisterService(object service, dict options)
 
-			Registers remote application service exported under
-			interface GattService1. Characteristic objects must
-			be hierarchical to their service and must use the
-			interface GattCharacteristic1. D-Bus Object Manager
-			is used to fetch the exported objects.
+			Registers a GattService1 hierarchy.
 
-			"service" object path together with the D-Bus system
-			bus connection ID define the identification of the
-			application registering a GATT based service.
+			If an application disconnects from the bus all of its
+			registered services will be removed.
 
-			Possible errors: org.bluez.Error.InvalidArguments
-					 org.bluez.Error.AlreadyExists
+			Available options:
+
+				object ObjectManager
+
+					Specifies the object path to the node
+					that implements the
+					org.freedesktop.DBus.ObjectManager
+					interface for this application. This
+					must be the object manager that manages
+					the GattService1 objects. This is used
+					by BlueZ to monitor when services get
+					added and removed.
 
-		UnregisterService(object service)
+				bool Advertised
 
-			This unregisters the service that has been
-			previously registered. The object path parameter
-			must match the same value that has been used
-			on registration.
+					Indicates whether or not this service
+					UUID should be advertised when the local
+					host has LE advertising enabled. This
+					will be ignored, if a sufficient number
+					of UUIDs have already been set for
+					advertising.
 
 			Possible errors: org.bluez.Error.InvalidArguments
-					 org.bluez.Error.DoesNotExist
+			                 org.bluez.Error.AlreadyExists
+
+		void UnregisterProfile(object profile)
+
+			Unregister a GattService1 hierarchy that has been
+			previously registered. The object path parameter must
+			match the same value that was used on registration.
+
+			Possible errors: org.bluez.Error.DoesNotExist
-- 
2.2.0.rc0.207.ga3a616c

--
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