1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
BlueZ D-Bus Adapter API description
***********************************
Copyright (C) 2004-2008 Marcel Holtmann <marcel@holtmann.org>
Copyright (C) 2005-2006 Johan Hedberg <johan.hedberg@nokia.com>
Copyright (C) 2005-2006 Claudio Takahasi <claudio.takahasi@indt.org.br>
Copyright (C) 2006-2007 Luiz von Dentz <luiz.dentz@indt.org.br>
Adapter hierarchy
=================
Service org.bluez
Interface org.bluez.Adapter
Object path /{hci0,hci1,...}
Methods dict GetProperties()
Returns all properties for the adapter. See the
properties section for available properties.
Possible Errors: org.bluez.Error.DoesNotExist
org.bluez.Error.InvalidArguments
void SetProperty(string name, variant value)
Changes the value of the specified property. Only
properties that are listed a read-write are changeable.
On success this will emit a PropertyChanged signal.
Possible Errors: org.bluez.Error.DoesNotExist
org.bluez.Error.InvalidArguments
void RequestMode(string mode)
This method will request a mode change. The mode
change must be confirmed by the user via the agent.
Possible modes for this call are "connectable" and
"discoverable". Any application that wants to use
Bluetooth functionality can use this method to
indicate which mode it needs to operate sucessfully.
In case the user doesn't confirm the mode change it
will return an error to indicate this rejection.
Possible Errors: org.bluez.Error.DoesNotExist
org.bluez.Error.InvalidArguments
org.bluez.Error.Rejected
void ReleaseMode()
Releases a mode requested via RequestMode.
Possible Errors: org.bluez.Error.DoesNotExist
void DiscoverDevices()
This method starts the device discovery procedure. This
includes an inquiry procedure and remote device name
resolving.
On start up this process will generate a DiscoveryStarted
signal and then return DeviceFound singals. If the
procedure has been finished an DiscoveryCompleted
signal will be sent.
Possible errors: org.bluez.Error.NotReady
org.bluez.Error.Failed
org.bluez.Error.InProgress
org.bluez.Error.NoSuchAdapter
void CancelDiscovery()
This method will cancel any previous DiscoverDevices
transaction.
Possible errors: org.bluez.Error.NotReady
org.bluez.Error.Failed
org.bluez.Error.NotAuthorized
org.bluez.Error.NoSuchAdapter
object FindDevice(string address)
Returns the object path of device for given address.
The device object needs to be first created via
CreateDevice or CreatePairedDevice.
Possible Errors: org.bluez.Error.DoesNotExist
org.bluez.Error.InvalidArguments
array{object} ListDevices()
Returns list of device object paths.
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.Failed
org.bluez.Error.OutOfMemory
object CreateDevice(string address)
Creates a new object path for a remote device. This
method will connect to the remote device and retrieve
all SDP records.
If the object for the remote device already exists
this method will fail.
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.Failed
object CreatePairedDevice(string address, object agent)
Creates a new object path for a remote device. This
method will connect to the remote device and retrieve
all SDP records and then initiate the pairing.
If previously CreateDevice was used successfully,
this method will only initiate the pairing.
Compared to CreateDevice this method will fail if
the pairing already exists, but not if the object
path already has been created. This allows applications
to use CreateDevice first and the if needed use
CreatePairedDevice to initiate pairing.
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.Failed
void RemoveDevice(object device)
This removes the remote device object at the given
path. It will remove also the pairing information.
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.Failed
void RegisterAgent(object agent, string capability)
This registers the adapter wide agent.
The object path defines the path the of the agent
that will be called when user input is needed.
If an application disconnects from the bus all
of its registered agents will be removed.
The capability parameter can have the values
"DisplayOnly", "DisplayYesNo", "KeyboardOnly" and
"NoInputNoOutput" which reflects the input and output
capabilities of the agent. If an empty string is
used it will fallback to "DisplayYesNo".
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.AlreadyExists
void UnregisterAgent(object agent)
This unregisters the agent that has been previously
registered. The object path parameter must match the
same value that has been used on registration.
Possible errors: org.bluez.Error.DoesNotExist
uint32 AddServiceRecord(string record)
Adds a new service record from the XML description
and returns the assigned record handle.
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.Failed
void UpdateServiceRecord(uint32 handle, string record)
Updates a given service record provided in the
XML format.
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.NotAvailable
org.bluez.Error.Failed
void RemoveServiceRecord(uint32 handle)
Remove a service record identified by its handle.
It is only possible to remove service records that
where added by the current connection.
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.NotAuthorized
org.bluez.Error.DoesNotExist
org.bluez.Error.Failed
void RequestAuthorization(string address, uint32 handle)
Request an authorization for an incoming connection
for a specific service record. The service record
needs to be registered via AddServiceRecord first.
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.NotAuthorized
org.bluez.Error.DoesNotExist
org.bluez.Error.Failed
void CancelAuthorization()
Possible errors: org.bluez.Error.InvalidArguments
org.bluez.Error.NotAuthorized
org.bluez.Error.DoesNotExist
org.bluez.Error.Failed
Signals PropertyChanged(string name, variant value)
This signal indicates a changed value of the given
property.
DiscoveryStarted()
This signal indicates that a device discovery
procedure has been started.
DiscoveryCompleted()
This signal indicates that a device discovery
procedure has been completed.
DeviceFound(string address, dict values)
This signal will be send every time an inquiry result
has been found by the service daemon. In general they
only appear during a device discovery.
The dictionary can contain bascially the same values
that we be returned by the GetProperties method
from the org.bluez.Device interface. In addition there
can be values for the RSSI and the TX power level.
DeviceDisappeared(string address)
This signal will be send when an inquiry session for
a periodic discovery finishes and previously found
devices are no longer in range or visible.
DeviceCreated(object device)
Parameter is object path of created device.
DeviceRemoved(object device)
Parameter is object path of removed device.
Properties string Address [readonly]
The Bluetooth device address.
string Name [readwrite]
The Bluetooth friendly name. This value can be
changed and a PropertyChanged signal will be emitted.
string Mode [readwrite]
The Bluetooth operation mode.
Valid modes: "off", "connectable",
"discoverable", "limited"
uint32 DiscoverableTimeout [readwrite]
The discoverable timeout in seconds. A value of zero
means that the timeout is disabled and it will stay in
discoverable/limited mode forever.
The default value for the discoverable timeout should
be 180 seconds (3 minutes).
boolean PeriodicDiscovery [readwrite]
Is peridoic inquiry active or not. Changing this
property will either enable or disable it.
|