1 bt_subscribe.h |
1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // Publish and Subscribe keys and categories. |
|
15 // Allows clients to observe various events published by the Bluetooth subsystem, |
|
16 // and for clients to influence some parameters in the Bluetooth subsystem |
|
17 // |
|
18 // |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 #ifndef BT_SUBSCRIBE_H |
|
24 #define BT_SUBSCRIBE_H |
|
25 |
|
26 #include <e32property.h> |
|
27 |
|
28 /** |
|
29 @publishedAll |
|
30 @released |
|
31 */ |
|
32 const TInt KUidBluetoothPubSubKeyBase = 0x10203637; // Range of 32 values registered |
|
33 |
|
34 // P&S Categories |
|
35 |
|
36 /** |
|
37 KPropertyUidBluetoothCategory |
|
38 This is a deprecated constant, maintained for source compatibility with non-secured |
|
39 Symbian OS platforms. |
|
40 |
|
41 @publishedAll |
|
42 @deprecated |
|
43 */ |
|
44 const TUid KPropertyUidBluetoothCategory = {KUidSystemCategoryValue}; |
|
45 |
|
46 /** |
|
47 KPropertyUidBluetoothControlCategory |
|
48 This is a deprecated constant, maintained for source compatibility with non-secured |
|
49 Symbian OS platforms. |
|
50 |
|
51 @publishedAll |
|
52 @deprecated |
|
53 */ |
|
54 const TUid KPropertyUidBluetoothControlCategory = {KUidSystemCategoryValue}; |
|
55 |
|
56 // P&S Keys |
|
57 |
|
58 //------------- |
|
59 |
|
60 /** |
|
61 KPropertyKeyBluetoothGetLocalDeviceAddress |
|
62 The key to observe the device address of the local Bluetooth hardware |
|
63 The P&S value will contain a descriptor of the device address |
|
64 @publishedAll |
|
65 @released |
|
66 @capability LocalServices Needed for both read and write access to this property |
|
67 @capability NetworkControl Needed for write access to this property |
|
68 */ |
|
69 const TUint KPropertyKeyBluetoothGetLocalDeviceAddress = (KUidBluetoothPubSubKeyBase + 0); |
|
70 |
|
71 /** |
|
72 KPropertyKeyBluetoothLocalDeviceAddress |
|
73 This is a deprecated constant, maintained for source compatibility with non-secured |
|
74 Symbian OS platforms. |
|
75 @publishedAll |
|
76 @deprecated |
|
77 */ |
|
78 const TUint KPropertyKeyBluetoothLocalDeviceAddress = KPropertyKeyBluetoothGetLocalDeviceAddress; |
|
79 |
|
80 //------------- |
|
81 |
|
82 /** |
|
83 KPropertyKeyBluetoothGetPHYCount |
|
84 The key to observe the the number of Bluetooth physical links attached to the local device |
|
85 The P&S value will contain the number of physical links |
|
86 @publishedAll |
|
87 @released |
|
88 @capability LocalServices Needed for both read and write access to this property |
|
89 @capability NetworkControl Needed for write access to this property |
|
90 */ |
|
91 const TUint KPropertyKeyBluetoothGetPHYCount = (KUidBluetoothPubSubKeyBase + 1); |
|
92 |
|
93 /** |
|
94 KPropertyKeyBluetoothPHYCount |
|
95 This is a deprecated constant, maintained for source compatibility with non-secured |
|
96 Symbian OS platforms. |
|
97 @publishedAll |
|
98 @deprecated |
|
99 */ |
|
100 const TUint KPropertyKeyBluetoothPHYCount = KPropertyKeyBluetoothGetPHYCount; |
|
101 |
|
102 //------------- |
|
103 |
|
104 /** |
|
105 KPropertyKeyBluetoothGetConnectingStatus |
|
106 The key to observe whether the local device is paging another device (i.e. is connecting a physical link) |
|
107 The P&S value will contain a boolean: ETrue if connecting, otherwise EFalse |
|
108 @publishedAll |
|
109 @released |
|
110 @capability LocalServices Needed for both read and write access to this property |
|
111 @capability NetworkControl Needed for write access to this property |
|
112 */ |
|
113 const TUint KPropertyKeyBluetoothGetConnectingStatus = (KUidBluetoothPubSubKeyBase + 2); |
|
114 |
|
115 /** |
|
116 KPropertyKeyBluetoothConnecting |
|
117 This is a deprecated constant, maintained for source compatibility with non-secured |
|
118 Symbian OS platforms. |
|
119 @publishedAll |
|
120 @deprecated |
|
121 */ |
|
122 const TUint KPropertyKeyBluetoothConnecting = KPropertyKeyBluetoothGetConnectingStatus; |
|
123 |
|
124 //------------- |
|
125 |
|
126 /** |
|
127 KPropertyKeyBluetoothGetScanningStatus |
|
128 The key to observe what scans the Bluetooth hardware is currently performing |
|
129 The P&S value contains an integer with the scan value as published in the Bluetooth Core Specification |
|
130 |
|
131 The use of this key is equivalent in a secure Symbian OS platform to the use of the key |
|
132 KPropertyKeyBluetoothScanning with the category KPropertyUidBluetoothCategory in a non-secure |
|
133 Symbian OS platform. |
|
134 |
|
135 @see Bluetooth Core Specification |
|
136 @publishedAll |
|
137 @released |
|
138 @capability LocalServices Needed for both read and write access to this property |
|
139 @capability NetworkControl Needed for write access to this property |
|
140 */ |
|
141 const TUint KPropertyKeyBluetoothGetScanningStatus = (KUidBluetoothPubSubKeyBase + 3); |
|
142 |
|
143 /** |
|
144 KPropertyKeyBluetoothSetScanningStatus |
|
145 The key to control what scans the Bluetooth hardware is currently performing |
|
146 The P&S value contains an integer with the scan value as published in the Bluetooth Core Specification |
|
147 |
|
148 The use of this key is equivalent in a secure Symbian OS platform to the use of the key |
|
149 KPropertyKeyBluetoothScanning with the category KPropertyUidBluetoothControlCategory in a non-secure |
|
150 Symbian OS platform. |
|
151 |
|
152 @see Bluetooth Core Specification |
|
153 @publishedAll |
|
154 @released |
|
155 @capability LocalServices Needed for both read and write access to this property |
|
156 @capability NetworkControl Needed for both read and write access to this property |
|
157 */ |
|
158 const TUint KPropertyKeyBluetoothSetScanningStatus = (KUidBluetoothPubSubKeyBase + 4); |
|
159 |
|
160 //------------- |
|
161 |
|
162 /** |
|
163 KPropertyKeyBluetoothGetLimitedDiscoverableStatus |
|
164 The key to observe whether the local device is in Limited Discoverable mode |
|
165 The P&S value will contain a boolean: ETrue if in limited discoverable mode, otherwise EFalse |
|
166 |
|
167 The use of this key is equivalent in a secure Symbian OS platform to the use of the key |
|
168 KPropertyKeyBluetoothLimitedDiscoverable with the category KPropertyUidBluetoothCategory in a non-secure |
|
169 Symbian OS platform. |
|
170 |
|
171 @publishedAll |
|
172 @released |
|
173 @capability LocalServices Needed for both read and write access to this property |
|
174 @capability NetworkControl Needed for write access to this property |
|
175 */ |
|
176 const TUint KPropertyKeyBluetoothGetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 5); |
|
177 |
|
178 /** |
|
179 KPropertyKeyBluetoothSetLimitedDiscoverableStatus |
|
180 The key to control whether the local device is in Limited Discoverable mode |
|
181 The P&S value will contain a boolean: ETrue if in limited discoverable mode, otherwise EFalse |
|
182 |
|
183 The use of this key is equivalent in a secure Symbian OS platform to the use of the key |
|
184 KPropertyKeyBluetoothLimitedDiscoverable with the category KPropertyUidBluetoothControlCategory in a non-secure |
|
185 Symbian OS platform. |
|
186 |
|
187 @publishedAll |
|
188 @released |
|
189 @capability LocalServices Needed for both read and write access to this property |
|
190 @capability NetworkControl Needed for both read and write access to this property |
|
191 */ |
|
192 |
|
193 const TUint KPropertyKeyBluetoothSetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 6); |
|
194 |
|
195 |
|
196 //------------- |
|
197 |
|
198 /** |
|
199 KPropertyKeyBluetoothGetDeviceClass |
|
200 The key to observe the class of device of the local device |
|
201 The P&S value will contain an integer of the local device class. |
|
202 |
|
203 The use of this key is equivalent in a secure Symbian OS platform to the use of the key |
|
204 KPropertyKeyBluetoothDeviceClass with the category KPropertyUidBluetoothCategory in a non-secure |
|
205 Symbian OS platform. |
|
206 |
|
207 @see Bluetooth Core Specification |
|
208 @publishedAll |
|
209 @released |
|
210 @capability LocalServices Needed for both read and write access to this property |
|
211 @capability NetworkControl Needed for write access to this property |
|
212 */ |
|
213 const TUint KPropertyKeyBluetoothGetDeviceClass = (KUidBluetoothPubSubKeyBase + 7); |
|
214 |
|
215 /** |
|
216 KPropertyKeyBluetoothSetDeviceClass |
|
217 The key to set the class of device of the local device |
|
218 The P&S value will contain an integer of the local device class. |
|
219 |
|
220 The use of this key is equivalent in a secure Symbian OS platform to the use of the key |
|
221 KPropertyKeyBluetoothDeviceClass with the category KPropertyUidBluetoothControlCategory in a non-secure |
|
222 Symbian OS platform. |
|
223 |
|
224 @see Bluetooth Core Specification |
|
225 @publishedAll |
|
226 @released |
|
227 @capability LocalServices Needed for both read and write access to this property |
|
228 @capability NetworkControl Needed for both read and write access to this property |
|
229 */ |
|
230 const TUint KPropertyKeyBluetoothSetDeviceClass = (KUidBluetoothPubSubKeyBase + 8); |
|
231 |
|
232 //------------- |
|
233 |
|
234 /** |
|
235 KPropertyKeyBluetoothSetAFHHostChannelClassification |
|
236 The key to send an AFH Host Channel Classification to the local Bluetooth hardware |
|
237 The P&S value will contain a descriptor containing the AFH Host Channel Classification |
|
238 bit set. A bit which is set to zero instructs the local Bluetooth hardware |
|
239 not to hop to the frequency represented by that bit in a connection in which |
|
240 it is master and which is using AFH. Also, if the local Bluetooth hardware is slave in a |
|
241 connection, which is using AFH, an AFH Host Channel Classification may be used to advise |
|
242 the remote master what frequencies to avoid. |
|
243 |
|
244 NB. THIS IS SUPPORTED ONLY IN VERSION 9.0 AND THEREAFTER. The same functionality can be |
|
245 accessed in 8.1 also through the use of the KPropertyKeyBluetoothAFHHostChannelClassification |
|
246 key in conjunction with category KPropertyUidBluetoothControlCategory. |
|
247 |
|
248 @see TBTAFHHostChannelClassification |
|
249 @publishedAll |
|
250 @released |
|
251 @capability LocalServices Needed for both read and write access to this property |
|
252 @capability NetworkControl Needed for both read and write access to this property |
|
253 */ |
|
254 const TUint KPropertyKeyBluetoothSetAFHHostChannelClassification = (KUidBluetoothPubSubKeyBase + 9); |
|
255 |
|
256 /** |
|
257 KPropertyKeyBluetoothAFHHostChannelClassification |
|
258 This is a deprecated constant, maintained for source compatibility with non-secured |
|
259 Symbian OS platforms. |
|
260 |
|
261 @publishedAll |
|
262 @deprecated |
|
263 */ |
|
264 const TUint KPropertyKeyBluetoothAFHHostChannelClassification = KPropertyKeyBluetoothSetAFHHostChannelClassification; |
|
265 |
|
266 //------------- |
|
267 |
|
268 /** |
|
269 KPropertyKeyBluetoothSetAFHChannelAssessmentMode |
|
270 The key to send the Bluetooth AFH Channel Assessment Mode to the local Bluetooth hardware. |
|
271 If AFH Channel Assessment Mode is on, then the local hardware will keep checking what |
|
272 channels are busy and so should be avoided in a connection using AFH. |
|
273 The P&S value will contain a boolean: ETrue if AFH Channel Assessment Mode is required, |
|
274 EFalse if not. |
|
275 The hardware is likely to support this either never, in master role only, |
|
276 or in both master and slave roles. |
|
277 The default setting of AFH Channel Assessment Mode in the hardware is 'on' |
|
278 whenever the hardware can support it. |
|
279 @publishedPartner |
|
280 @released |
|
281 @capability LocalServices Needed for both read and write access to this property |
|
282 @capability NetworkControl Needed for both read and write access to this property |
|
283 */ |
|
284 const TUint KPropertyKeyBluetoothSetAFHChannelAssessmentMode = (KUidBluetoothPubSubKeyBase + 10); |
|
285 |
|
286 /** |
|
287 KPropertyKeyBluetoothAFHChannelAssessmentMode |
|
288 This is a deprecated constant, maintained for source compatibility with non-secured |
|
289 Symbian OS platforms. |
|
290 |
|
291 @publishedPartner |
|
292 @deprecated |
|
293 */ |
|
294 const TUint KPropertyKeyBluetoothAFHChannelAssessmentMode = KPropertyKeyBluetoothSetAFHChannelAssessmentMode; |
|
295 |
|
296 //------------- |
|
297 |
|
298 /** |
|
299 KPropertyKeyBluetoothGetRegistryTableChange |
|
300 The key to observe changes in the Bluetooth Registry |
|
301 The P&S value will contain an integer describing which of the tables in the Bluetooth Registry changed |
|
302 see further in this header file. |
|
303 This property is written to only by the Symbian OS Bluetooth sub-system. |
|
304 @publishedAll |
|
305 @released |
|
306 @capability LocalServices Needed for read access to this property |
|
307 */ |
|
308 const TUint KPropertyKeyBluetoothGetRegistryTableChange = (KUidBluetoothPubSubKeyBase + 11); |
|
309 |
|
310 /** |
|
311 KPropertyKeyBluetoothRegistryTableChange |
|
312 This is a deprecated constant, maintained for source compatibility with non-secured |
|
313 Symbian OS platforms. |
|
314 |
|
315 @publishedAll |
|
316 @deprecated |
|
317 */ |
|
318 const TUint KPropertyKeyBluetoothRegistryTableChange = KPropertyKeyBluetoothGetRegistryTableChange; |
|
319 |
|
320 //------------- |
|
321 |
|
322 // Some keys have values that are "wellknown" - these are enumerated here |
|
323 // RegistryTableChanges |
|
324 |
|
325 //------------- |
|
326 |
|
327 /** |
|
328 KRegistryChangeRemoteTable |
|
329 @see KPropertyKeyBluetoothGetRegistryTableChange |
|
330 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Remote device table changed |
|
331 @publishedAll |
|
332 @released |
|
333 */ |
|
334 const TUint KRegistryChangeRemoteTable = (KUidBluetoothPubSubKeyBase + 12); |
|
335 |
|
336 //------------- |
|
337 |
|
338 /** |
|
339 KRegistryChangeLocalTable |
|
340 @see KPropertyKeyBluetoothGetRegistryTableChange |
|
341 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Local device table changed |
|
342 @publishedAll |
|
343 @released |
|
344 */ |
|
345 const TUint KRegistryChangeLocalTable = (KUidBluetoothPubSubKeyBase + 13); |
|
346 |
|
347 //------------- |
|
348 |
|
349 /** |
|
350 KRegistryChangeCSYTable |
|
351 @see KPropertyKeyBluetoothGetRegistryTableChange |
|
352 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the CSY-settings table changed |
|
353 @publishedAll |
|
354 @released |
|
355 */ |
|
356 const TUint KRegistryChangeCSYTable = (KUidBluetoothPubSubKeyBase + 14); |
|
357 |
|
358 //------------- |
|
359 |
|
360 /** |
|
361 KPropertyKeyBluetoothGetDeviceName |
|
362 The key to observe the name of device of the local device |
|
363 The P&S value will be of type EText and contain the local device name in Unicode. |
|
364 At all times the name must have a length <= KHCILocalDeviceNameMaxLength (defined in hciconsts.h). |
|
365 @see Bluetooth Core Specification |
|
366 @publishedAll |
|
367 @released |
|
368 @capability LocalServices Needed for both read and write access to this property |
|
369 @capability NetworkControl Needed for write access to this property |
|
370 */ |
|
371 const TUint KPropertyKeyBluetoothGetDeviceName = (KUidBluetoothPubSubKeyBase + 15); |
|
372 |
|
373 /** |
|
374 KPropertyKeyBluetoothSetDeviceName |
|
375 The key to set the name of device of the local device |
|
376 The P&S value will be of type EText and contain the local device name in Unicode. |
|
377 At all times the name must have a length <= KHCILocalDeviceNameMaxLength (defined in hciconsts.h). |
|
378 @see Bluetooth Core Specification |
|
379 @publishedAll |
|
380 @released |
|
381 @capability LocalServices Needed for both read and write access to this property |
|
382 @capability NetworkControl Needed for both read and write access to this property |
|
383 */ |
|
384 const TUint KPropertyKeyBluetoothSetDeviceName = (KUidBluetoothPubSubKeyBase + 16); |
|
385 |
|
386 //------------- |
|
387 |
|
388 /** |
|
389 KPropertyKeyBluetoothGetCorruptRegistryResetIndication |
|
390 This key is intended to be used by the UI to be informed when a corrupt |
|
391 Bluetooth registry has been detected so that the UI can inform the user |
|
392 that all of the pairings they have made have been lost. |
|
393 |
|
394 The P&S value will either be 0 or give the tick count, as given by |
|
395 User::TickCount(), at the time which the corrupt Bluetooth Registry has |
|
396 been restored or replaced. If the key is 0 this means that the Bluetooth |
|
397 registry has not been found to be corrupt since the device was turned on. |
|
398 @publishedAll |
|
399 @released |
|
400 @capability LocalServices Needed for both read and write access to this property |
|
401 @capability NetworkControl Needed for write access to this property |
|
402 */ |
|
403 const TUint KPropertyKeyBluetoothGetCorruptRegistryResetIndication = (KUidBluetoothPubSubKeyBase + 17); |
|
404 |
|
405 /** |
|
406 KPropertyKeyBluetoothCorruptRegistryReset |
|
407 This is a deprecated constant, maintained for source compatibility with non-secured |
|
408 Symbian OS platforms. |
|
409 |
|
410 @publishedAll |
|
411 @deprecated |
|
412 */ |
|
413 const TUint KPropertyKeyBluetoothCorruptRegistryReset = KPropertyKeyBluetoothGetCorruptRegistryResetIndication; |
|
414 |
|
415 //------------- |
|
416 |
|
417 /** |
|
418 KPropertyKeyBluetoothGetAcceptPairedOnlyMode |
|
419 This key is intended to be used by the UI to discover whether a device will accept all connections or only paired ones. |
|
420 The P&S value will contain a boolean: ETrue - the stack will only to accept connection requests from paired devices. |
|
421 EFalse - the stack will accept connection requests from both paired and unpaired devices. |
|
422 @publishedAll |
|
423 @released |
|
424 @capability LocalServices Needed for both read and write access to this property |
|
425 @capability NetworkControl Needed for write access to this property |
|
426 */ |
|
427 const TUint KPropertyKeyBluetoothGetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 18); |
|
428 |
|
429 /** |
|
430 KPropertyKeyBluetoothSetAcceptPairedOnlyMode |
|
431 The key to set the mode for handling connection requests |
|
432 The P&S value will contain a boolean: ETrue - the user wishes ONLY to accept connection requests from paired devices. |
|
433 EFalse - the user wishes to accept connection requests from both paired and unpaired devices. |
|
434 @publishedAll |
|
435 @released |
|
436 @capability LocalServices Needed for both read and write access to this property |
|
437 @capability NetworkControl Needed for both read and write access to this property |
|
438 */ |
|
439 const TUint KPropertyKeyBluetoothSetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 19); |
|
440 |
|
441 /** |
|
442 KPropertyKeyBluetoothHostResolverActive |
|
443 The key is intended to be used by the UI to discover whether the device is attempting to do a discovery |
|
444 If the device is attempting a discovery activities such as streaming of AV data will be affected |
|
445 The P&S value will contain a boolean: ETrue - the stack is attempting a discovery/discovery+rnr |
|
446 EFalse - the stack is curently not attempting a discovery |
|
447 @publishedAll |
|
448 @released |
|
449 @capability LocalServices Needed for both read and write access to this property |
|
450 @capability NetworkControl Needed for write access to this property |
|
451 */ |
|
452 const TUint KPropertyKeyBluetoothHostResolverActive = (KUidBluetoothPubSubKeyBase + 20); |
|
453 |
|
454 /** |
|
455 KPropertyKeyBluetoothSetSimplePairingDebugMode |
|
456 The key is intended to be used by a platform to set the stack into simple pairing debug mode. |
|
457 Once enabled (by setting to ETrue) then it cannot be disabled, the mode will remain set until |
|
458 the Bluetooth stack has been restarted. |
|
459 When the Symbian simple pairing debug mode is enabled then the stack will instruct the hardware |
|
460 to generate debug link keys for use with air traffic capture. |
|
461 When the Symbian simple pairing debug mode is disabled a remote device attempting to make a |
|
462 connection with a debug link key will be rejected for secure reasons. |
|
463 @publishedPartner |
|
464 @released |
|
465 @capability LocalServices Needed for both read and write access to this property |
|
466 @capability CommDD Needed for write access to this property |
|
467 */ |
|
468 const TUint KPropertyKeyBluetoothSetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 21); |
|
469 |
|
470 /** |
|
471 KPropertyKeyBluetoothGetSimplePairingDebugMode |
|
472 The key is intended to be used by a UI to provide an indication to the user of the device that the |
|
473 Symbian simple pairing debug mode has been enabled. |
|
474 As this mode should only be being used by engineers, and provides a potential security risk for |
|
475 end users the UI should make obvious to an end-user that they have entered this mode and what it |
|
476 means for them. |
|
477 @capability LocalServices Needed for both read and write access to this property |
|
478 @capability NetworkControl Needed for write access to this property |
|
479 */ |
|
480 const TUint KPropertyKeyBluetoothGetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 22); |
|
481 |
|
482 |
|
483 #endif //BT_SUBSCRIBE_H |