1BlueZ D-Bus Health API description 2********************************** 3 4 Santiago Carot-Nemesio <sancane@gmail.com> 5 José Antonio Santos-Cadenas <santoscadenas@gmail.com> 6 Elvis Pfützenreuter <epx@signove.com> 7 8Health Device Profile hierarchy 9=============================== 10 11Service org.bluez 12Interface org.bluez.HealthManager 13Object path /org/bluez/ 14 15Methods: 16 17 object CreateApplication(dict config) 18 19 Returns the path of the new registered application. 20 21 Dict is defined as below: 22 { 23 "DataType": uint16, (mandatory) 24 "Role" : ("Source" or "Sink"), (mandatory) 25 "Description" : string, (optional) 26 "ChannelType" : ("Reliable" or "Streaming") 27 (just for Sources, optional) 28 } 29 30 Application will be closed by the call or implicitly when the 31 programs leaves the bus. 32 33 Possible errors: org.bluez.Error.InvalidArguments 34 35 void DestroyApplication(object application) 36 37 Closes the HDP application identified by the object path. Also 38 application will be closed if the process that started it leaves 39 the bus. Only the creator of the application will be able to 40 destroy it. 41 42 Possible errors: org.bluez.Error.InvalidArguments 43 org.bluez.Error.NotFound 44 org.bluez.Error.NotAllowed 45 46-------------------------------------------------------------------------------- 47 48Service org.bluez 49Interface org.bluez.HealthDevice 50Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX 51 52Methods: 53 54 dict GetProperties() 55 56 Returns all properties for the interface. See the properties 57 section for available properties. 58 59 Posible errors: org.bluez.Error.NotAllowed 60 61 Boolean Echo() 62 63 Sends an echo petition to the remote service. Returns True if 64 response matches with the buffer sent. If some error is detected 65 False value is returned. 66 67 Possible errors: org.bluez.Error.InvalidArguments 68 org.bluez.Error.OutOfRange 69 70 object CreateChannel(object application, string configuration) 71 72 Creates a new data channel. 73 The configuration should indicate the channel quality of 74 service using one of this values "Reliable", "Streaming", "Any". 75 76 Returns the object path that identifies the data channel that 77 is already connected. 78 79 Possible errors: org.bluez.Error.InvalidArguments 80 org.bluez.Error.HealthError 81 82 void DestroyChannel(object channel) 83 84 Destroys the data channel object. Only the creator of the 85 channel or the creator of the HealtApplication that received the 86 data channel will be able to destroy it 87 88 Possible errors: org.bluez.Error.InvalidArguments 89 org.bluez.Error.NotFound 90 org.bluez.Error.NotAllowed 91 92Signals: 93 94 void ChannelConnected(object channel) 95 96 This signal is launched when a new data channel is created or 97 when a known data channel is reconnected. 98 99 void ChannelDeleted(object channel) 100 101 This signal is launched when a data channel is deleted. 102 103 After this signal the data channel path will not be valid and 104 its path can be reused for future data channels. 105 106 void PropertyChanged(string name, variant value) 107 108 This signal indicates a changed value of the given property. 109 110Properties: 111 112 object MainChannel [readonly] 113 114 The first reliable channel opened. It is needed by upper 115 applications in order to send specific protocol data units. The 116 first reliable can change after a reconnection. 117 118-------------------------------------------------------------------------------- 119 120Service org.bluez 121Interface org.bluez.HealthChannel 122Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/chanZZZ 123 124Only the process that created the data channel or the creator of the 125HealthApplication that received it will be able to call this methods. 126 127Methods: 128 129 dict GetProperties() 130 131 Returns all properties for the interface. See the properties 132 section for available properties. 133 134 Posible errors: org.bluez.Error.NotAllowed 135 136 fd Acquire() 137 138 Returns the file descriptor for this data channel. If the data 139 channel is not connected it will also reconnect. 140 141 Possible errors: org.bluez.Error.NotConnected 142 org.bluez.Error.NotAllowed 143 144 void Release() 145 146 Releases the fd. Application should also need to close() it. 147 148 Possible errors: org.bluez.Error.NotAcquired 149 org.bluez.Error.NotAllowed 150 151Properties: 152 153 string Type [readonly] 154 155 The quality of service of the data channel. ("Reliable" or 156 "Streaming") 157 158 object Device [readonly] 159 160 Identifies the Remote Device that is connected with. Maps with 161 a HealthDevice object. 162 163 object Application [readonly] 164 165 Identifies the HealthApplication to which this channel is 166 related to (which indirectly defines its role and data type). 167