mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-26 13:44:23 +08:00
165 lines
4.7 KiB
Plaintext
165 lines
4.7 KiB
Plaintext
BlueZ D-Bus Attribute API description
|
|
*************************************
|
|
|
|
Copyright (C) 2004-2010 Marcel Holtmann <marcel@holtmann.org>
|
|
|
|
Service details
|
|
---------------
|
|
|
|
One service object path for every remote SDP record or service in the
|
|
attribute database. One service object path for every local SDP record
|
|
or service from attribute database.
|
|
|
|
Local services are children of the adapter object path. Remote services
|
|
are children of the remote device object path. This doesn't solve the
|
|
problem where local attributes can have different instances based on
|
|
the remote device.
|
|
|
|
In general the idea is to also represent SDP records as services so that
|
|
new style application can just use the service interfaces to retrieve the
|
|
needed information. That way the usage of SDP and GATT would be mostly
|
|
fully transparent and a differentiation becomes unimportant in the future.
|
|
|
|
A service consists of some generic service information and a set of
|
|
characteristics. All characteristic are presented as object path as well.
|
|
|
|
|
|
Local Service hierarchy
|
|
=======================
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.Service
|
|
org.bluez.Characteristic
|
|
Object path [prefix]/{hci0}/{service0, service1, ...}
|
|
|
|
Methods
|
|
|
|
Properties
|
|
|
|
|
|
Device Service hierarchy
|
|
========================
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.Characteristic
|
|
Object path [prefix]/{hci0}/{device0}/{service0, service1, ...}
|
|
[prefix]/{hci0}/{device1}/{service0, service1, ...}
|
|
|
|
Methods dict GetProperties()
|
|
|
|
Returns all properties for the interface. See the
|
|
Properties section for the available properties.
|
|
|
|
array{object} DiscoverCharacteristics()
|
|
|
|
Discover all characteristics that belongs in this service.
|
|
When it returns all the characteristics paths will be
|
|
already registered. It will return the characteristics paths
|
|
as soon as they are discovered. After that it will try to
|
|
read all values.
|
|
|
|
RegisterCharacteristicsWatcher(object agent)
|
|
|
|
Register a watcher to monitor characteristic changes.
|
|
|
|
A watcher will be registered for this service and will
|
|
notify about any changed characteristics in the service.
|
|
This also notifies about any included characteristics.
|
|
|
|
UnregisterCharacteristicsWatcher(object agent)
|
|
|
|
Unregister a watcher.
|
|
|
|
Properties string Name (mandatory) [readonly]
|
|
|
|
General name of service
|
|
|
|
string Description (optional) [readonly]
|
|
|
|
Description of service
|
|
|
|
string UUID (mandatory) [readonly]
|
|
|
|
UUID of service. Service class value for SDP and GATT
|
|
UUID for attribute based services.
|
|
|
|
array{object} Characteristics [readonly]
|
|
|
|
This list contains the characteristics owned by this
|
|
specific service and other characteristics from service
|
|
includes. That way no complicated service includes array
|
|
is needed.
|
|
|
|
|
|
Device Characteristic hierarchy
|
|
===============================
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.Characteristic
|
|
Object path [prefix]/{hci0}/{device0}/{service0}/{characteristic0,...}
|
|
[prefix]/{hci0}/{device0}/{service1}/{characteristic0,...}
|
|
|
|
Methods dict GetProperties()
|
|
|
|
Returns all properties for the characteristic. See the
|
|
properties section for available properties.
|
|
|
|
void SetProperty(string name, variant value)
|
|
|
|
Changes the value of the specified property. Only
|
|
read-write properties can be changed. On success
|
|
this will emit a PropertyChanged signal.
|
|
|
|
Possible Errors: org.bluez.Error.InvalidArguments
|
|
|
|
Properties string UUID [readonly]
|
|
|
|
UUID128 of this characteristic.
|
|
|
|
string Name [readonly]
|
|
|
|
Optional field containing a friendly name for the
|
|
Characteristic UUID.
|
|
|
|
string Description [readonly]
|
|
|
|
Textual optional characteristic descriptor describing
|
|
the Characteristic Value.
|
|
|
|
struct Format [readonly]
|
|
|
|
Optional Characteristic descriptor which defines the
|
|
format of the Characteristic Value. For numeric
|
|
values, the actual value can be value * 10^Exponent.
|
|
NameSpace and Description are defined on the Assigned
|
|
Number Specification.
|
|
|
|
uint8 | Format: format of the value
|
|
uint8 | Exponent: Field to determine how the value is
|
|
| further formatted.
|
|
uint16 | Unit: unit of the characteristic
|
|
uint8 | NameSpace: Name space of description.
|
|
uint16 | Description: Description of the characteristic defined
|
|
| in a high layer profile.
|
|
|
|
array{byte} Value [readwrite]
|
|
|
|
Raw value of the Characteristic Value attribute.
|
|
|
|
string Representation (of the binary Value) [readonly]
|
|
|
|
Friendly representation of the Characteristic Value
|
|
based on the format attribute.
|
|
|
|
|
|
Characteristic Watcher hierarchy
|
|
===============================
|
|
|
|
Service unique name
|
|
Interface org.bluez.Watcher
|
|
Object path freely definable
|
|
|
|
Methods void ValueChanged(object characteristic, array{byte})
|
|
|
|
New raw value of the Characteristic Value attribute.
|