1
BlueZ D-Bus Attribute API description
2
*************************************
4
Copyright (C) 2004-2010 Marcel Holtmann <marcel@holtmann.org>
9
One service object path for every remote SDP record or service in the
10
attribute database. One service object path for every local SDP record
11
or service from attribute database.
13
Local services are children of the adapter object path. Remote services
14
are children of the remote device object path. This doesn't solve the
15
problem where local atttributes can have different instances based on
18
In general the idea is to also represent SDP records as services so that
19
new style application can just use the service interfaces to retrieve the
20
needed information. That way the usage of SDP and GATT would be mostly
21
fully transparent and a differentiation becomes unimportant in the future.
23
A service consists of some generic service information and a set of
24
characteristics. All characteristic are presented as object path as well.
27
Local Service hierarchy
28
=======================
31
Interface org.bluez.Service
32
org.bluez.Characteristic
33
Object path [prefix]/{hci0}/{service0, service1, ...}
40
Device Service hierarchy
41
========================
44
Interface org.bluez.Characteristic
45
Object path [prefix]/{hci0}/{device0}/{service0, service1, ...}
46
[prefix]/{hci0}/{device1}/{service0, service1, ...}
48
Methods dict GetProperties()
50
Returns all properties for the interface. See the
51
Properties section for the available properties.
53
RegisterCharacteristicsWatcher(object agent)
55
Register a watcher to monitor characteristic changes.
57
A watcher will be registered for this service and will
58
notify about any changed characteristics in the service.
59
This also notifies about any included characteristics.
61
UnregisterCharacteristicsWatcher(object agent)
65
Properties string Name (mandatory) [readonly]
67
General name of service
69
string Description (optional) [readonly]
71
Description of service
73
string UUID (mandatory) [readonly]
75
UUID of service. Service class value for SDP and GATT
76
UUID for attribute based services.
78
array{object} Characteristics [readonly]
80
This list contains the characteristics owned by this
81
specific service and other characteristics from service
82
includes. That way no complicated service includes array
86
Device Characteristic hierarchy
87
===============================
90
Interface org.bluez.Characteristic
91
Object path [prefix]/{hci0}/{device0}/{service0}/{characteristic0,...}
92
[prefix]/{hci0}/{device0}/{service1}/{characteristic0,...}
94
Methods dict GetProperties()
96
Returns all properties for the characteristic. See the
97
properties section for available properties.
99
void SetProperty(string name, variant value)
101
Changes the value of the specified property. Only
102
read-write properties can be changed. On success
103
this will emit a PropertyChanged signal.
105
Possible Errors: org.bluez.Error.InvalidArguments
107
Properties string UUID [readonly]
109
UUID128 of this characteristic.
111
string Name [readonly]
113
Optional field containing a friendly name for the
116
string Description [readonly]
118
Textual optional characteristic descriptor describing
119
the Characteristic Value.
121
struct Format [readonly]
123
Optional Characteristic descriptor which defines the
124
format of the Characteristic Value. For numeric
125
values, the actual value can be value * 10^Exponent.
126
NameSpace and Description are defined on the Assigned
127
Number Specification.
129
uint8 | Format: format of the value
130
uint8 | Exponent: Field to determine how the value is
132
uint16 | Unit: unit of the characteristic
133
uint8 | NameSpace: Name space of description.
134
uint16 | Description: Description of the characteristic defined
135
| in a high layer profile.
137
array{byte} Value [readwrite]
139
Raw value of the Characteristic Value attribute.
141
string Representation (of the binary Value) [readonly]
143
Friendly representation of the Characteristic Value
144
based on the format attribute.
147
Characteristic Watcher hierarchy
148
===============================
151
Interface org.bluez.Watcher
152
Object path freely definable
154
Methods void ValueChanged(object characteristic, array{byte})
156
New raw value of the Characteristic Value attribute.