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 "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.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
21 #ifndef BT_SUBSCRIBE_H
22 #define BT_SUBSCRIBE_H
24 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
25 #include <bt_subscribe_partner.h>
28 #include <bt_subscribe_keybase.h>
30 #include <e32property.h>
35 KPropertyUidBluetoothCategory
36 This is a deprecated constant, maintained for source compatibility with non-secured
42 const TUid KPropertyUidBluetoothCategory = {KUidSystemCategoryValue};
45 KPropertyUidBluetoothControlCategory
46 This is a deprecated constant, maintained for source compatibility with non-secured
52 const TUid KPropertyUidBluetoothControlCategory = {KUidSystemCategoryValue};
59 KPropertyKeyBluetoothGetLocalDeviceAddress
60 The key to observe the device address of the local Bluetooth hardware
61 The P&S value will contain a descriptor of the device address
64 @capability LocalServices Needed for both read and write access to this property
65 @capability NetworkControl Needed for write access to this property
67 const TUint KPropertyKeyBluetoothGetLocalDeviceAddress = (KUidBluetoothPubSubKeyBase + 0);
70 KPropertyKeyBluetoothLocalDeviceAddress
71 This is a deprecated constant, maintained for source compatibility with non-secured
76 const TUint KPropertyKeyBluetoothLocalDeviceAddress = KPropertyKeyBluetoothGetLocalDeviceAddress;
81 KPropertyKeyBluetoothGetPHYCount
82 The key to observe the the number of Bluetooth physical links attached to the local device
83 The P&S value will contain the number of physical links
86 @capability LocalServices Needed for both read and write access to this property
87 @capability NetworkControl Needed for write access to this property
89 const TUint KPropertyKeyBluetoothGetPHYCount = (KUidBluetoothPubSubKeyBase + 1);
92 KPropertyKeyBluetoothPHYCount
93 This is a deprecated constant, maintained for source compatibility with non-secured
98 const TUint KPropertyKeyBluetoothPHYCount = KPropertyKeyBluetoothGetPHYCount;
103 KPropertyKeyBluetoothGetConnectingStatus
104 The key to observe whether the local device is paging another device (i.e. is connecting a physical link)
105 The P&S value will contain a boolean: ETrue if connecting, otherwise EFalse
108 @capability LocalServices Needed for both read and write access to this property
109 @capability NetworkControl Needed for write access to this property
111 const TUint KPropertyKeyBluetoothGetConnectingStatus = (KUidBluetoothPubSubKeyBase + 2);
114 KPropertyKeyBluetoothConnecting
115 This is a deprecated constant, maintained for source compatibility with non-secured
116 Symbian OS platforms.
120 const TUint KPropertyKeyBluetoothConnecting = KPropertyKeyBluetoothGetConnectingStatus;
125 KPropertyKeyBluetoothGetScanningStatus
126 The key to observe what scans the Bluetooth hardware is currently performing
127 The P&S value contains an integer with the scan value as published in the Bluetooth Core Specification
129 The use of this key is equivalent in a secure Symbian OS platform to the use of the key
130 KPropertyKeyBluetoothScanning with the category KPropertyUidBluetoothCategory in a non-secure
133 @see Bluetooth Core Specification
136 @capability LocalServices Needed for both read and write access to this property
137 @capability NetworkControl Needed for write access to this property
139 const TUint KPropertyKeyBluetoothGetScanningStatus = (KUidBluetoothPubSubKeyBase + 3);
142 KPropertyKeyBluetoothSetScanningStatus
143 The key to control what scans the Bluetooth hardware is currently performing
144 The P&S value contains an integer with the scan value as published in the Bluetooth Core Specification
146 The use of this key is equivalent in a secure Symbian OS platform to the use of the key
147 KPropertyKeyBluetoothScanning with the category KPropertyUidBluetoothControlCategory in a non-secure
150 @see Bluetooth Core Specification
153 @capability LocalServices Needed for both read and write access to this property
154 @capability NetworkControl Needed for both read and write access to this property
156 const TUint KPropertyKeyBluetoothSetScanningStatus = (KUidBluetoothPubSubKeyBase + 4);
161 KPropertyKeyBluetoothGetLimitedDiscoverableStatus
162 The key to observe whether the local device is in Limited Discoverable mode
163 The P&S value will contain a boolean: ETrue if in limited discoverable mode, otherwise EFalse
165 The use of this key is equivalent in a secure Symbian OS platform to the use of the key
166 KPropertyKeyBluetoothLimitedDiscoverable with the category KPropertyUidBluetoothCategory in a non-secure
171 @capability LocalServices Needed for both read and write access to this property
172 @capability NetworkControl Needed for write access to this property
174 const TUint KPropertyKeyBluetoothGetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 5);
177 KPropertyKeyBluetoothSetLimitedDiscoverableStatus
178 The key to control whether the local device is in Limited Discoverable mode
179 The P&S value will contain a boolean: ETrue if in limited discoverable mode, otherwise EFalse
181 The use of this key is equivalent in a secure Symbian OS platform to the use of the key
182 KPropertyKeyBluetoothLimitedDiscoverable with the category KPropertyUidBluetoothControlCategory in a non-secure
187 @capability LocalServices Needed for both read and write access to this property
188 @capability NetworkControl Needed for both read and write access to this property
191 const TUint KPropertyKeyBluetoothSetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 6);
197 KPropertyKeyBluetoothGetDeviceClass
198 The key to observe the class of device of the local device
199 The P&S value will contain an integer of the local device class.
201 The use of this key is equivalent in a secure Symbian OS platform to the use of the key
202 KPropertyKeyBluetoothDeviceClass with the category KPropertyUidBluetoothCategory in a non-secure
205 @see Bluetooth Core Specification
208 @capability LocalServices Needed for both read and write access to this property
209 @capability NetworkControl Needed for write access to this property
211 const TUint KPropertyKeyBluetoothGetDeviceClass = (KUidBluetoothPubSubKeyBase + 7);
214 KPropertyKeyBluetoothSetDeviceClass
215 The key to set the class of device of the local device
216 The P&S value will contain an integer of the local device class.
218 The use of this key is equivalent in a secure Symbian OS platform to the use of the key
219 KPropertyKeyBluetoothDeviceClass with the category KPropertyUidBluetoothControlCategory in a non-secure
222 @see Bluetooth Core Specification
225 @capability LocalServices Needed for both read and write access to this property
226 @capability NetworkControl Needed for both read and write access to this property
228 const TUint KPropertyKeyBluetoothSetDeviceClass = (KUidBluetoothPubSubKeyBase + 8);
233 KPropertyKeyBluetoothSetAFHHostChannelClassification
234 The key to send an AFH Host Channel Classification to the local Bluetooth hardware
235 The P&S value will contain a descriptor containing the AFH Host Channel Classification
236 bit set. A bit which is set to zero instructs the local Bluetooth hardware
237 not to hop to the frequency represented by that bit in a connection in which
238 it is master and which is using AFH. Also, if the local Bluetooth hardware is slave in a
239 connection, which is using AFH, an AFH Host Channel Classification may be used to advise
240 the remote master what frequencies to avoid.
242 NB. THIS IS SUPPORTED ONLY IN VERSION 9.0 AND THEREAFTER. The same functionality can be
243 accessed in 8.1 also through the use of the KPropertyKeyBluetoothAFHHostChannelClassification
244 key in conjunction with category KPropertyUidBluetoothControlCategory.
246 @see TBTAFHHostChannelClassification
249 @capability LocalServices Needed for both read and write access to this property
250 @capability NetworkControl Needed for both read and write access to this property
252 const TUint KPropertyKeyBluetoothSetAFHHostChannelClassification = (KUidBluetoothPubSubKeyBase + 9);
255 KPropertyKeyBluetoothAFHHostChannelClassification
256 This is a deprecated constant, maintained for source compatibility with non-secured
257 Symbian OS platforms.
262 const TUint KPropertyKeyBluetoothAFHHostChannelClassification = KPropertyKeyBluetoothSetAFHHostChannelClassification;
267 KPropertyKeyBluetoothGetRegistryTableChange
268 The key to observe changes in the Bluetooth Registry
269 The P&S value will contain an integer describing which of the tables in the Bluetooth Registry changed
270 see further in this header file.
271 This property is written to only by the Symbian OS Bluetooth sub-system.
274 @capability LocalServices Needed for read access to this property
276 const TUint KPropertyKeyBluetoothGetRegistryTableChange = (KUidBluetoothPubSubKeyBase + 11);
279 KPropertyKeyBluetoothRegistryTableChange
280 This is a deprecated constant, maintained for source compatibility with non-secured
281 Symbian OS platforms.
286 const TUint KPropertyKeyBluetoothRegistryTableChange = KPropertyKeyBluetoothGetRegistryTableChange;
290 // Some keys have values that are "wellknown" - these are enumerated here
291 // RegistryTableChanges
296 KRegistryChangeRemoteTable
297 @see KPropertyKeyBluetoothGetRegistryTableChange
298 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Remote device table changed
302 const TUint KRegistryChangeRemoteTable = (KUidBluetoothPubSubKeyBase + 12);
307 KRegistryChangeLocalTable
308 @see KPropertyKeyBluetoothGetRegistryTableChange
309 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Local device table changed
313 const TUint KRegistryChangeLocalTable = (KUidBluetoothPubSubKeyBase + 13);
318 KRegistryChangeCSYTable
319 @see KPropertyKeyBluetoothGetRegistryTableChange
320 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the CSY-settings table changed
324 const TUint KRegistryChangeCSYTable = (KUidBluetoothPubSubKeyBase + 14);
329 KPropertyKeyBluetoothGetDeviceName
330 The key to observe the name of device of the local device
331 The P&S value will be of type EText and contain the local device name in Unicode.
332 At all times the name must have a length <= KHCILocalDeviceNameMaxLength (defined in hciconsts.h).
333 @see Bluetooth Core Specification
336 @capability LocalServices Needed for both read and write access to this property
337 @capability NetworkControl Needed for write access to this property
339 const TUint KPropertyKeyBluetoothGetDeviceName = (KUidBluetoothPubSubKeyBase + 15);
342 KPropertyKeyBluetoothSetDeviceName
343 The key to set the name of device of the local device
344 The P&S value will be of type EText and contain the local device name in Unicode.
345 At all times the name must have a length <= KHCILocalDeviceNameMaxLength (defined in hciconsts.h).
346 @see Bluetooth Core Specification
349 @capability LocalServices Needed for both read and write access to this property
350 @capability NetworkControl Needed for both read and write access to this property
352 const TUint KPropertyKeyBluetoothSetDeviceName = (KUidBluetoothPubSubKeyBase + 16);
357 KPropertyKeyBluetoothGetCorruptRegistryResetIndication
358 This key is intended to be used by the UI to be informed when a corrupt
359 Bluetooth registry has been detected so that the UI can inform the user
360 that all of the pairings they have made have been lost.
362 The P&S value will either be 0 or give the tick count, as given by
363 User::TickCount(), at the time which the corrupt Bluetooth Registry has
364 been restored or replaced. If the key is 0 this means that the Bluetooth
365 registry has not been found to be corrupt since the device was turned on.
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 KPropertyKeyBluetoothGetCorruptRegistryResetIndication = (KUidBluetoothPubSubKeyBase + 17);
374 KPropertyKeyBluetoothCorruptRegistryReset
375 This is a deprecated constant, maintained for source compatibility with non-secured
376 Symbian OS platforms.
381 const TUint KPropertyKeyBluetoothCorruptRegistryReset = KPropertyKeyBluetoothGetCorruptRegistryResetIndication;
386 KPropertyKeyBluetoothGetAcceptPairedOnlyMode
387 This key is intended to be used by the UI to discover whether a device will accept all connections or only paired ones.
388 The P&S value will contain a boolean: ETrue - the stack will only to accept connection requests from paired devices.
389 EFalse - the stack will accept connection requests from both paired and unpaired devices.
392 @capability LocalServices Needed for both read and write access to this property
393 @capability NetworkControl Needed for write access to this property
395 const TUint KPropertyKeyBluetoothGetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 18);
398 KPropertyKeyBluetoothSetAcceptPairedOnlyMode
399 The key to set the mode for handling connection requests
400 The P&S value will contain a boolean: ETrue - the user wishes ONLY to accept connection requests from paired devices.
401 EFalse - the user wishes to accept connection requests from both paired and unpaired devices.
404 @capability LocalServices Needed for both read and write access to this property
405 @capability NetworkControl Needed for both read and write access to this property
407 const TUint KPropertyKeyBluetoothSetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 19);
410 KPropertyKeyBluetoothHostResolverActive
411 The key is intended to be used by the UI to discover whether the device is attempting to do a discovery
412 If the device is attempting a discovery activities such as streaming of AV data will be affected
413 The P&S value will contain a boolean: ETrue - the stack is attempting a discovery/discovery+rnr
414 EFalse - the stack is curently not attempting a discovery
417 @capability LocalServices Needed for both read and write access to this property
418 @capability NetworkControl Needed for write access to this property
420 const TUint KPropertyKeyBluetoothHostResolverActive = (KUidBluetoothPubSubKeyBase + 20);
424 KPropertyKeyBluetoothGetSimplePairingDebugMode
425 The key is intended to be used by a UI to provide an indication to the user of the device that the
426 Symbian simple pairing debug mode has been enabled.
427 As this mode should only be being used by engineers, and provides a potential security risk for
428 end users the UI should make obvious to an end-user that they have entered this mode and what it
430 @capability LocalServices Needed for both read and write access to this property
431 @capability NetworkControl Needed for write access to this property
433 const TUint KPropertyKeyBluetoothGetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 22);
436 #endif //BT_SUBSCRIBE_H