mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-17 01:04:40 +08:00
93f4607f6e
There are now two different methods for the interface. Only one method is called, based on the "raw" setting being enabled or not when registering the watcher.
123 lines
3.4 KiB
Plaintext
123 lines
3.4 KiB
Plaintext
BlueZ D-Bus Attribute API description
|
|
*************************************
|
|
|
|
Copyright (C) 2004-2010 Marcel Holtmann <marcel@holtmann.org>
|
|
|
|
Service details
|
|
---------------
|
|
|
|
All characteristics are presented as object paths in a single, flat list. Each
|
|
object has a "ServiceUUID" property which contains the 128-bit UUID of the
|
|
service that contains it, so clients can identify the correct characteristic if
|
|
multiple services contain the same characteristic.
|
|
|
|
This API is used for both local (added to the BlueZ GATT server) and remote
|
|
(found by GATT discovery) services.
|
|
|
|
Device Characteristic hierarchy
|
|
===============================
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.Characteristic
|
|
Object path freely definable
|
|
|
|
For local characteristics, it is recommended (for readability and debugging
|
|
purposes) to have the object path prefix as "[freely definable]/[busid]" where
|
|
"[busid]" is the application's D-Bus address. For remote characteristics, the
|
|
device address is added to the prefix. E.g.:
|
|
|
|
[freely definable]/[busid]/characteristic_1803_2A06 (local)
|
|
[freely definable]/dev_XX_XX_XX_XX_XX_XX/characteristic_1803_2A06 (remote)
|
|
|
|
Methods void SetValue(array{byte} value)
|
|
|
|
Update characteristic value.
|
|
|
|
For a remote characteristic, this method triggers a
|
|
GATT characteristic value write procedure setting a new
|
|
value for this characteristic. The GATT sub-procedure
|
|
is automatically selected based on the characteristic
|
|
properties and value length.
|
|
|
|
dict GetValue()
|
|
|
|
Read characteristic value and descriptors. The returned
|
|
dictionary has the following format:
|
|
|
|
{
|
|
"value": array{byte},
|
|
"formatted value": string,
|
|
// Optional descriptors
|
|
"client configuration": uint16,
|
|
"server configuration": uint16,
|
|
"extended properties": uint16,
|
|
"user description": string,
|
|
// For unknown descriptors, use 128-bit UUID
|
|
// as key
|
|
"uuid": array{byte},
|
|
}
|
|
|
|
Properties string UUID [readonly]
|
|
|
|
128-bit UUID of this characteristic.
|
|
|
|
string ServiceUUID [readonly]
|
|
|
|
128-bit UUID of the service which includes this
|
|
characteristic.
|
|
|
|
boolean Read [readonly]
|
|
|
|
Characteristic value can be read.
|
|
|
|
boolean WriteWithoutResponse [readonly]
|
|
|
|
Characteristic value can be written using GATT Write
|
|
Without Response sub-procedure.
|
|
|
|
boolean Write [readonly]
|
|
|
|
Characteristic value can be written using GATT Write
|
|
Characteristic Value sub-procedures.
|
|
|
|
boolean Notify [readonly]
|
|
|
|
Characteristic value can be notified.
|
|
|
|
boolean Indicate [readonly]
|
|
|
|
Characteristic value can be indicated.
|
|
|
|
boolean AuthenticatedSignedWrites [readonly]
|
|
|
|
Characteristic value can be written using GATT Signed
|
|
Write Without Response sub-procedure.
|
|
|
|
boolean ExtendedProperties [readonly]
|
|
|
|
Characteristic contains additional properties defined
|
|
on the Extended Properties descriptor.
|
|
|
|
Characteristic Watcher hierarchy
|
|
===============================
|
|
|
|
Service unique name
|
|
Interface org.bluez.Watcher
|
|
Object path freely definable
|
|
|
|
Methods void ValueChanged(object characteristic, dict value)
|
|
|
|
The value dictionary contains the new value for the
|
|
Characteristic. The format is the same returned by
|
|
Characteristic.GetValue().
|
|
|
|
This method is only called when the "raw" setting is
|
|
disabled on Adapter.RegisterCharacteristicsWatcher().
|
|
|
|
void RawValueChanged(object characteristic, array{byte} value)
|
|
|
|
New raw Characteristic value.
|
|
|
|
This method is only called when the "raw" setting is
|
|
enabled on Adapter.RegisterCharacteristicsWatcher().
|