1 BlueZ D-Bus Health API description 2 ********************************** 3 4 Santiago Carot-Nemesio <sancane (a] gmail.com> 5 Jos Antonio Santos-Cadenas <santoscadenas (a] gmail.com> 6 Elvis Pftzenreuter <epx (a] signove.com> 7 8 Health Device Profile hierarchy 9 =============================== 10 11 Service org.bluez 12 Interface org.bluez.HealthManager 13 Object path /org/bluez/ 14 15 Methods: 16 17 object CreateApplication(dict config, object agent) 18 19 Returns the path of the new registered application. The agent 20 parameter is the path of the object with the callbacks to 21 notify events (see org.bluez.HealthAgent at the end 22 of this document). 23 24 Dict is defined as bellow: 25 { 26 "DataType": uint16, (mandatory) 27 "Role" : ("Source" or "Sink"), (mandatory) 28 "Description" : string, (optional) 29 "ChannelType" : ("Reliable" or "Streaming") 30 (just for Sources, optional) 31 } 32 33 Application will be closed by the call or implicitly when the 34 programs leaves the bus. 35 36 Possible errors: org.bluez.Error.InvalidArguments 37 38 void DestroyApplication(object application) 39 40 Closes the HDP application identified by the object path. Also 41 application will be closed if the process that started it leaves 42 the bus. 43 44 Possible errors: org.bluez.Error.InvalidArguments 45 org.bluez.Error.NotFound 46 47 -------------------------------------------------------------------------------- 48 49 Service org.bluez 50 Interface org.bluez.HealthApplication 51 Object path [variable prefix]/health_app_ZZZZ 52 53 Methods: 54 55 void Echo(object service) 56 57 Sends an echo petition to the remote service. Returns True if 58 response matches with the buffer sent. If some error is detected 59 False value is returned and the associated MCL is closed. 60 61 Possible errors: org.bluez.Error.InvalidArguments 62 org.bluez.Error.OutOfRange 63 64 object CreateChannel(object service, string type) 65 66 Creates a new data channel with the indicated config to the 67 remote Service. 68 The configuration should indicate the channel quality of 69 service using one of this values "Reliable", "Streaming", "Any". 70 71 Returns the object path that identifies the data channel that 72 is already connected. 73 74 Possible errors: org.bluez.Error.InvalidArguments 75 org.bluez.Error.HealthError 76 77 void DestroyChannel(object channel) 78 79 Destroys the data channel object. 80 81 Possible errors: org.bluez.Error.InvalidArguments 82 orb.bluez.Error.NotFound 83 84 -------------------------------------------------------------------------------- 85 86 Service org.bluez 87 Interface org.bluez.HealthService 88 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/hdp_YYYY 89 90 -------------------------------------------------------------------------------- 91 92 Service org.bluez 93 Interface org.bluez.HealthChannel 94 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/ 95 hdp_YYYY/channel_ZZ 96 97 Methods: 98 99 dict GetProperties() 100 101 Returns all properties for the interface. See the properties 102 section for available properties. 103 104 fd Acquire() 105 106 Returns the file descriptor for this data channel. If the data 107 channel is not connected it will also reconnect. 108 109 Possible errors: org.bluez.Error.NotConnected 110 111 void Release() 112 113 Releases the fd. Application should also need to close() it. 114 115 Properties: 116 117 string Type (read only) 118 119 The quality of service of the data channel. ("Reliable" or 120 "Streaming") 121 122 object Service (read only) 123 124 Identifies the Remote Service that is connected with. Maps with 125 a HealthService object. 126 127 HealthAgent hierarchy 128 ===================== 129 130 (this object is implemented by the HDP user in order to receive notifications) 131 132 Service unique name 133 Interface org.bluez.HealthAgent 134 Object path freely definable 135 136 Methods: 137 138 void Release() 139 140 This method gets called when the service daemon unregisters the 141 agent. An agent can use it to do cleanup tasks. There is no need 142 to unregister the agent, because when this method gets called it 143 has already been unregistered. 144 145 void ServiceDiscovered(object service) 146 147 This method is called when a device containing an HDP 148 application is paired or when the method Update of the 149 HealthManager is called and new HealthServices are discovered. 150 The method will be called once for each HealthService. 151 152 void ServiceRemoved(object service) 153 154 This is called if during an Update some HealthServices 155 have disappeared. The method is called once for each removed 156 HealthService. 157 158 void ChannelConnected(object channel) 159 160 This method is called when a new data channel is created or when 161 a known data channel is reconnected. 162 163 void ChannelDeleted(object channel) 164 165 This method is called when a data channel is deleted. 166 167 After this call the data channel path will not be valid and can 168 be reused for future creation of data channels. 169