Fix bug:TIVI-374[2.0] no hidd binary, which blocks bluetooth keyboard connection
[profile/ivi/bluez.git] / doc / health-api.txt
1 BlueZ 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
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)
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
48 Service         org.bluez
49 Interface       org.bluez.HealthDevice
50 Object path     [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
51
52 Methods:
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 HealthApplication that received
86                 the 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
92 Signals:
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
110 Properties:
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
120 Service         org.bluez
121 Interface       org.bluez.HealthChannel
122 Object path     [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/chanZZZ
123
124 Only the process that created the data channel or the creator of the
125 HealthApplication that received it will be able to call this methods.
126
127 Methods:
128
129         dict GetProperties()
130
131                 Returns all properties for the interface. See the properties
132                 section for available properties.
133
134                 Possible 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
151 Properties:
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).