mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-23 20:24:21 +08:00
1532898319
This patch adds the Application property to HealthChannel, which allows to unambiguously relate a channel to an application. This property is useful when there are several processes interested in accepting HealthChannels but device address is not sufficient criteria to engage upon, or ignore, the ChannelConnected signal. Having the application path allows to determine role and data type, in the context of the process that has created that application.
168 lines
4.5 KiB
Plaintext
168 lines
4.5 KiB
Plaintext
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)
|
|
|
|
Returns the path of the new registered application.
|
|
|
|
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. Only the creator of the application will be able to
|
|
destroy it.
|
|
|
|
Possible errors: org.bluez.Error.InvalidArguments
|
|
org.bluez.Error.NotFound
|
|
org.bluez.Error.NotAllowed
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.HealthDevice
|
|
Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
|
|
|
|
Methods:
|
|
|
|
dict GetProperties()
|
|
|
|
Returns all properties for the interface. See the properties
|
|
section for available properties.
|
|
|
|
Posible errors: org.bluez.Error.NotAllowed
|
|
|
|
Boolean Echo()
|
|
|
|
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.
|
|
|
|
Possible errors: org.bluez.Error.InvalidArguments
|
|
org.bluez.Error.OutOfRange
|
|
|
|
object CreateChannel(object application, string configuration)
|
|
|
|
Creates a new data channel.
|
|
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. Only the creator of the
|
|
channel or the creator of the HealtApplication that received the
|
|
data channel will be able to destroy it
|
|
|
|
Possible errors: org.bluez.Error.InvalidArguments
|
|
org.bluez.Error.NotFound
|
|
org.bluez.Error.NotAllowed
|
|
|
|
Signals:
|
|
|
|
void ChannelConnected(object channel)
|
|
|
|
This signal is launched when a new data channel is created or
|
|
when a known data channel is reconnected.
|
|
|
|
void ChannelDeleted(object channel)
|
|
|
|
This signal is launched when a data channel is deleted.
|
|
|
|
After this signal the data channel path will not be valid and
|
|
its path can be reused for future data channels.
|
|
|
|
void PropertyChanged(string name, variant value)
|
|
|
|
This signal indicates a changed value of the given property.
|
|
|
|
Properties:
|
|
|
|
object MainChannel [readonly]
|
|
|
|
The first reliable channel opened. It is needed by upper
|
|
applications in order to send specific protocol data units. The
|
|
first reliable can change after a reconnection.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.HealthChannel
|
|
Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/
|
|
hdp_YYYY/channel_ZZ
|
|
|
|
Only the process that created the data channel or the creator of the
|
|
HealthApplication that received it will be able to call this methods.
|
|
|
|
Methods:
|
|
|
|
dict GetProperties()
|
|
|
|
Returns all properties for the interface. See the properties
|
|
section for available properties.
|
|
|
|
Posible errors: org.bluez.Error.NotAllowed
|
|
|
|
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
|
|
org.bluez.Error.NotAllowed
|
|
|
|
void Release()
|
|
|
|
Releases the fd. Application should also need to close() it.
|
|
|
|
Possible errors: org.bluez.Error.NotAcquired
|
|
org.bluez.Error.NotAllowed
|
|
|
|
Properties:
|
|
|
|
string Type [readonly]
|
|
|
|
The quality of service of the data channel. ("Reliable" or
|
|
"Streaming")
|
|
|
|
object Device [readonly]
|
|
|
|
Identifies the Remote Device that is connected with. Maps with
|
|
a HealthDevice object.
|
|
|
|
object Application [readonly]
|
|
|
|
Identifies the HealthApplication to which this channel is
|
|
related to (which indirectly defines its role and data type).
|