Home | History | Annotate | Download | only in doc
      1 BlueZ D-Bus Attribute API description
      2 *************************************
      3 
      4 Copyright (C) 2004-2010  Marcel Holtmann <marcel (a] holtmann.org>
      5 
      6 Service details
      7 ---------------
      8 
      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.
     12 
     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
     16 the remote device.
     17 
     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.
     22 
     23 A service consists of some generic service information and a set of
     24 characteristics. All characteristic are presented as object path as well.
     25 
     26 
     27 Local Service hierarchy
     28 =======================
     29 
     30 Service		org.bluez
     31 Interface	org.bluez.Service
     32 		org.bluez.Characteristic
     33 Object path	[prefix]/{hci0}/{service0, service1, ...}
     34 
     35 Methods
     36 
     37 Properties
     38 
     39 
     40 Device Service hierarchy
     41 ========================
     42 
     43 Service		org.bluez
     44 Interface	org.bluez.Characteristic
     45 Object path	[prefix]/{hci0}/{device0}/{service0, service1, ...}
     46 		[prefix]/{hci0}/{device1}/{service0, service1, ...}
     47 
     48 Methods 	dict GetProperties()
     49 
     50 			Returns all properties for the interface. See the
     51 			Properties section for the available properties.
     52 
     53 		array{object} DiscoverCharacteristics()
     54 
     55 			Discover all characteristics that belongs in this service.
     56 			When it returns all the characteristics paths will be
     57 			already registered. It will return the characteristics paths
     58 			as soon as they are discovered. After that it will try to
     59 			read all values.
     60 
     61 		RegisterCharacteristicsWatcher(object agent)
     62 
     63 			Register a watcher to monitor characteristic changes.
     64 
     65 			A watcher will be registered for this service and will
     66 			notify about any changed characteristics in the service.
     67 			This also notifies about any included characteristics.
     68 
     69 		UnregisterCharacteristicsWatcher(object agent)
     70 
     71 			Unregister a watcher.
     72 
     73 Properties	string Name (mandatory) [readonly]
     74 
     75 			General name of service
     76 
     77 		string Description (optional) [readonly]
     78 
     79 			Description of service
     80 
     81 		string UUID (mandatory) [readonly]
     82 
     83 			UUID of service. Service class value for SDP and GATT
     84 			UUID for attribute based services.
     85 
     86 		array{object} Characteristics [readonly]
     87 
     88 			This list contains the characteristics owned by this
     89 			specific service and other characteristics from service
     90 			includes. That way no complicated service includes array
     91 			is needed.
     92 
     93 
     94 Device Characteristic hierarchy
     95 ===============================
     96 
     97 Service		org.bluez
     98 Interface	org.bluez.Characteristic
     99 Object path	[prefix]/{hci0}/{device0}/{service0}/{characteristic0,...}
    100 		[prefix]/{hci0}/{device0}/{service1}/{characteristic0,...}
    101 
    102 Methods		dict GetProperties()
    103 
    104 			Returns all properties for the characteristic. See the
    105 			properties section for available properties.
    106 
    107 		void SetProperty(string name, variant value)
    108 
    109 			Changes the value of the specified property. Only
    110 			read-write properties can be changed. On success
    111 			this will emit a PropertyChanged signal.
    112 
    113 			Possible Errors: org.bluez.Error.InvalidArguments
    114 
    115 Properties 	string UUID [readonly]
    116 
    117 			UUID128 of this characteristic.
    118 
    119 		string Name [readonly]
    120 
    121 			Optional field containing a friendly name for the
    122 			Characteristic UUID.
    123 
    124 		string Description [readonly]
    125 
    126 			Textual optional characteristic descriptor describing
    127 			the Characteristic Value.
    128 
    129 		struct Format [readonly]
    130 
    131 			Optional Characteristic descriptor which defines the
    132 			format of the Characteristic Value. For numeric
    133 			values, the actual value can be value * 10^Exponent.
    134 			NameSpace and Description are defined on the Assigned
    135 			Number Specification.
    136 
    137 			  uint8  | Format: format of the value
    138 			  uint8  | Exponent: Field to determine how the value is
    139 			         | further formatted.
    140 			  uint16 | Unit: unit of the characteristic
    141 			  uint8  | NameSpace: Name space of description.
    142 			  uint16 | Description: Description of the characteristic defined
    143 			         | in a high layer profile.
    144 
    145 		array{byte} Value [readwrite]
    146 
    147 			Raw value of the Characteristic Value attribute.
    148 
    149 		string Representation (of the binary Value) [readonly]
    150 
    151 			Friendly representation of the Characteristic Value
    152 			based on the format attribute.
    153 
    154 
    155 Characteristic Watcher hierarchy
    156 ===============================
    157 
    158 Service		unique name
    159 Interface	org.bluez.Watcher
    160 Object path	freely definable
    161 
    162 Methods		void ValueChanged(object characteristic, array{byte})
    163 
    164 			New raw value of the Characteristic Value attribute.
    165