| BlueZ D-Bus Health API description |
| ********************************** |
| |
| Santiago Carot-Nemesio <sancane@gmail.com> |
| José Antonio Santos-Cadenas <santoscadenas@gmail.com> |
| Elvis Pfützenreuter <epx@signove.com> |
| |
| Health Device Profile hierarchy |
| =============================== |
| |
| Service org.bluez |
| Interface org.bluez.HealthManager |
| Object path /org/bluez/ |
| |
| Methods: |
| |
| object CreateApplication(dict config, object agent) |
| |
| Returns the path of the new registered application. The agent |
| parameter is the path of the object with the callbacks to |
| notify events (see org.bluez.HealthAgent at the end |
| of this document). |
| |
| Dict is defined as bellow: |
| { |
| "DataType": uint16, (mandatory) |
| "Role" : ("Source" or "Sink"), (mandatory) |
| "Description" : string, (optional) |
| "ChannelType" : ("Reliable" or "Streaming") |
| (just for Sources, optional) |
| } |
| |
| Application will be closed by the call or implicitly when the |
| programs leaves the bus. |
| |
| Possible errors: org.bluez.Error.InvalidArguments |
| |
| void DestroyApplication(object application) |
| |
| Closes the HDP application identified by the object path. Also |
| application will be closed if the process that started it leaves |
| the bus. |
| |
| Possible errors: org.bluez.Error.InvalidArguments |
| org.bluez.Error.NotFound |
| |
| -------------------------------------------------------------------------------- |
| |
| Service org.bluez |
| Interface org.bluez.HealthApplication |
| Object path [variable prefix]/health_app_ZZZZ |
| |
| Methods: |
| |
| void Echo(object service) |
| |
| Sends an echo petition to the remote service. Returns True if |
| response matches with the buffer sent. If some error is detected |
| False value is returned and the associated MCL is closed. |
| |
| Possible errors: org.bluez.Error.InvalidArguments |
| org.bluez.Error.OutOfRange |
| |
| object CreateChannel(object service, string type) |
| |
| Creates a new data channel with the indicated config to the |
| remote Service. |
| The configuration should indicate the channel quality of |
| service using one of this values "Reliable", "Streaming", "Any". |
| |
| Returns the object path that identifies the data channel that |
| is already connected. |
| |
| Possible errors: org.bluez.Error.InvalidArguments |
| org.bluez.Error.HealthError |
| |
| void DestroyChannel(object channel) |
| |
| Destroys the data channel object. |
| |
| Possible errors: org.bluez.Error.InvalidArguments |
| orb.bluez.Error.NotFound |
| |
| -------------------------------------------------------------------------------- |
| |
| Service org.bluez |
| Interface org.bluez.HealthService |
| Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/hdp_YYYY |
| |
| -------------------------------------------------------------------------------- |
| |
| Service org.bluez |
| Interface org.bluez.HealthChannel |
| Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/ |
| hdp_YYYY/channel_ZZ |
| |
| Methods: |
| |
| dict GetProperties() |
| |
| Returns all properties for the interface. See the properties |
| section for available properties. |
| |
| fd Acquire() |
| |
| Returns the file descriptor for this data channel. If the data |
| channel is not connected it will also reconnect. |
| |
| Possible errors: org.bluez.Error.NotConnected |
| |
| void Release() |
| |
| Releases the fd. Application should also need to close() it. |
| |
| Properties: |
| |
| string Type (read only) |
| |
| The quality of service of the data channel. ("Reliable" or |
| "Streaming") |
| |
| object Service (read only) |
| |
| Identifies the Remote Service that is connected with. Maps with |
| a HealthService object. |
| |
| HealthAgent hierarchy |
| ===================== |
| |
| (this object is implemented by the HDP user in order to receive notifications) |
| |
| Service unique name |
| Interface org.bluez.HealthAgent |
| Object path freely definable |
| |
| Methods: |
| |
| void Release() |
| |
| This method gets called when the service daemon unregisters the |
| agent. An agent can use it to do cleanup tasks. There is no need |
| to unregister the agent, because when this method gets called it |
| has already been unregistered. |
| |
| void ServiceDiscovered(object service) |
| |
| This method is called when a device containing an HDP |
| application is paired or when the method Update of the |
| HealthManager is called and new HealthServices are discovered. |
| The method will be called once for each HealthService. |
| |
| void ServiceRemoved(object service) |
| |
| This is called if during an Update some HealthServices |
| have disappeared. The method is called once for each removed |
| HealthService. |
| |
| void ChannelConnected(object channel) |
| |
| This method is called when a new data channel is created or when |
| a known data channel is reconnected. |
| |
| void ChannelDeleted(object channel) |
| |
| This method is called when a data channel is deleted. |
| |
| After this call the data channel path will not be valid and can |
| be reused for future creation of data channels. |