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