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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
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
23 #ifndef BT_SUBSCRIBE_H
24 #define BT_SUBSCRIBE_H
26 #include <e32property.h>
32 const TInt KUidBluetoothPubSubKeyBase = 0x10203637; // Range of 32 values registered
37 KPropertyUidBluetoothCategory
38 This is a deprecated constant, maintained for source compatibility with non-secured
44 const TUid KPropertyUidBluetoothCategory = {KUidSystemCategoryValue};
47 KPropertyUidBluetoothControlCategory
48 This is a deprecated constant, maintained for source compatibility with non-secured
54 const TUid KPropertyUidBluetoothControlCategory = {KUidSystemCategoryValue};
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
66 @capability LocalServices Needed for both read and write access to this property
67 @capability NetworkControl Needed for write access to this property
69 const TUint KPropertyKeyBluetoothGetLocalDeviceAddress = (KUidBluetoothPubSubKeyBase + 0);
72 KPropertyKeyBluetoothLocalDeviceAddress
73 This is a deprecated constant, maintained for source compatibility with non-secured
78 const TUint KPropertyKeyBluetoothLocalDeviceAddress = KPropertyKeyBluetoothGetLocalDeviceAddress;
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
88 @capability LocalServices Needed for both read and write access to this property
89 @capability NetworkControl Needed for write access to this property
91 const TUint KPropertyKeyBluetoothGetPHYCount = (KUidBluetoothPubSubKeyBase + 1);
94 KPropertyKeyBluetoothPHYCount
95 This is a deprecated constant, maintained for source compatibility with non-secured
100 const TUint KPropertyKeyBluetoothPHYCount = KPropertyKeyBluetoothGetPHYCount;
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
110 @capability LocalServices Needed for both read and write access to this property
111 @capability NetworkControl Needed for write access to this property
113 const TUint KPropertyKeyBluetoothGetConnectingStatus = (KUidBluetoothPubSubKeyBase + 2);
116 KPropertyKeyBluetoothConnecting
117 This is a deprecated constant, maintained for source compatibility with non-secured
118 Symbian OS platforms.
122 const TUint KPropertyKeyBluetoothConnecting = KPropertyKeyBluetoothGetConnectingStatus;
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
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
135 @see Bluetooth Core Specification
138 @capability LocalServices Needed for both read and write access to this property
139 @capability NetworkControl Needed for write access to this property
141 const TUint KPropertyKeyBluetoothGetScanningStatus = (KUidBluetoothPubSubKeyBase + 3);
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
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
152 @see Bluetooth Core Specification
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
158 const TUint KPropertyKeyBluetoothSetScanningStatus = (KUidBluetoothPubSubKeyBase + 4);
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
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
173 @capability LocalServices Needed for both read and write access to this property
174 @capability NetworkControl Needed for write access to this property
176 const TUint KPropertyKeyBluetoothGetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 5);
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
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
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
193 const TUint KPropertyKeyBluetoothSetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 6);
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.
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
207 @see Bluetooth Core Specification
210 @capability LocalServices Needed for both read and write access to this property
211 @capability NetworkControl Needed for write access to this property
213 const TUint KPropertyKeyBluetoothGetDeviceClass = (KUidBluetoothPubSubKeyBase + 7);
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.
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
224 @see Bluetooth Core Specification
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
230 const TUint KPropertyKeyBluetoothSetDeviceClass = (KUidBluetoothPubSubKeyBase + 8);
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.
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.
248 @see TBTAFHHostChannelClassification
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
254 const TUint KPropertyKeyBluetoothSetAFHHostChannelClassification = (KUidBluetoothPubSubKeyBase + 9);
257 KPropertyKeyBluetoothAFHHostChannelClassification
258 This is a deprecated constant, maintained for source compatibility with non-secured
259 Symbian OS platforms.
264 const TUint KPropertyKeyBluetoothAFHHostChannelClassification = KPropertyKeyBluetoothSetAFHHostChannelClassification;
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,
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.
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
284 const TUint KPropertyKeyBluetoothSetAFHChannelAssessmentMode = (KUidBluetoothPubSubKeyBase + 10);
287 KPropertyKeyBluetoothAFHChannelAssessmentMode
288 This is a deprecated constant, maintained for source compatibility with non-secured
289 Symbian OS platforms.
294 const TUint KPropertyKeyBluetoothAFHChannelAssessmentMode = KPropertyKeyBluetoothSetAFHChannelAssessmentMode;
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.
306 @capability LocalServices Needed for read access to this property
308 const TUint KPropertyKeyBluetoothGetRegistryTableChange = (KUidBluetoothPubSubKeyBase + 11);
311 KPropertyKeyBluetoothRegistryTableChange
312 This is a deprecated constant, maintained for source compatibility with non-secured
313 Symbian OS platforms.
318 const TUint KPropertyKeyBluetoothRegistryTableChange = KPropertyKeyBluetoothGetRegistryTableChange;
322 // Some keys have values that are "wellknown" - these are enumerated here
323 // RegistryTableChanges
328 KRegistryChangeRemoteTable
329 @see KPropertyKeyBluetoothGetRegistryTableChange
330 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Remote device table changed
334 const TUint KRegistryChangeRemoteTable = (KUidBluetoothPubSubKeyBase + 12);
339 KRegistryChangeLocalTable
340 @see KPropertyKeyBluetoothGetRegistryTableChange
341 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Local device table changed
345 const TUint KRegistryChangeLocalTable = (KUidBluetoothPubSubKeyBase + 13);
350 KRegistryChangeCSYTable
351 @see KPropertyKeyBluetoothGetRegistryTableChange
352 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the CSY-settings table changed
356 const TUint KRegistryChangeCSYTable = (KUidBluetoothPubSubKeyBase + 14);
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
368 @capability LocalServices Needed for both read and write access to this property
369 @capability NetworkControl Needed for write access to this property
371 const TUint KPropertyKeyBluetoothGetDeviceName = (KUidBluetoothPubSubKeyBase + 15);
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
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
384 const TUint KPropertyKeyBluetoothSetDeviceName = (KUidBluetoothPubSubKeyBase + 16);
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.
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.
400 @capability LocalServices Needed for both read and write access to this property
401 @capability NetworkControl Needed for write access to this property
403 const TUint KPropertyKeyBluetoothGetCorruptRegistryResetIndication = (KUidBluetoothPubSubKeyBase + 17);
406 KPropertyKeyBluetoothCorruptRegistryReset
407 This is a deprecated constant, maintained for source compatibility with non-secured
408 Symbian OS platforms.
413 const TUint KPropertyKeyBluetoothCorruptRegistryReset = KPropertyKeyBluetoothGetCorruptRegistryResetIndication;
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.
424 @capability LocalServices Needed for both read and write access to this property
425 @capability NetworkControl Needed for write access to this property
427 const TUint KPropertyKeyBluetoothGetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 18);
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.
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
439 const TUint KPropertyKeyBluetoothSetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 19);
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
449 @capability LocalServices Needed for both read and write access to this property
450 @capability NetworkControl Needed for write access to this property
452 const TUint KPropertyKeyBluetoothHostResolverActive = (KUidBluetoothPubSubKeyBase + 20);
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.
465 @capability LocalServices Needed for both read and write access to this property
466 @capability CommDD Needed for write access to this property
468 const TUint KPropertyKeyBluetoothSetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 21);
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
477 @capability LocalServices Needed for both read and write access to this property
478 @capability NetworkControl Needed for write access to this property
480 const TUint KPropertyKeyBluetoothGetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 22);
483 #endif //BT_SUBSCRIBE_H