1.1 --- a/epoc32/include/bt_subscribe.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/bt_subscribe.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,483 @@
1.4 -bt_subscribe.h
1.5 +// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +// All rights reserved.
1.7 +// This component and the accompanying materials are made available
1.8 +// 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
1.9 +// which accompanies this distribution, and is available
1.10 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +//
1.12 +// Initial Contributors:
1.13 +// Nokia Corporation - initial contribution.
1.14 +//
1.15 +// Contributors:
1.16 +//
1.17 +// Description:
1.18 +// Publish and Subscribe keys and categories.
1.19 +// Allows clients to observe various events published by the Bluetooth subsystem,
1.20 +// and for clients to influence some parameters in the Bluetooth subsystem
1.21 +//
1.22 +//
1.23 +
1.24 +
1.25 +
1.26 +
1.27 +#ifndef BT_SUBSCRIBE_H
1.28 +#define BT_SUBSCRIBE_H
1.29 +
1.30 +#include <e32property.h>
1.31 +
1.32 +/**
1.33 +@publishedAll
1.34 +@released
1.35 +*/
1.36 +const TInt KUidBluetoothPubSubKeyBase = 0x10203637; // Range of 32 values registered
1.37 +
1.38 +// P&S Categories
1.39 +
1.40 +/**
1.41 +KPropertyUidBluetoothCategory
1.42 +This is a deprecated constant, maintained for source compatibility with non-secured
1.43 +Symbian OS platforms.
1.44 +
1.45 +@publishedAll
1.46 +@deprecated
1.47 +*/
1.48 +const TUid KPropertyUidBluetoothCategory = {KUidSystemCategoryValue};
1.49 +
1.50 +/**
1.51 +KPropertyUidBluetoothControlCategory
1.52 +This is a deprecated constant, maintained for source compatibility with non-secured
1.53 +Symbian OS platforms.
1.54 +
1.55 +@publishedAll
1.56 +@deprecated
1.57 +*/
1.58 +const TUid KPropertyUidBluetoothControlCategory = {KUidSystemCategoryValue};
1.59 +
1.60 +// P&S Keys
1.61 +
1.62 +//-------------
1.63 +
1.64 +/**
1.65 +KPropertyKeyBluetoothGetLocalDeviceAddress
1.66 +The key to observe the device address of the local Bluetooth hardware
1.67 +The P&S value will contain a descriptor of the device address
1.68 +@publishedAll
1.69 +@released
1.70 +@capability LocalServices Needed for both read and write access to this property
1.71 +@capability NetworkControl Needed for write access to this property
1.72 +*/
1.73 +const TUint KPropertyKeyBluetoothGetLocalDeviceAddress = (KUidBluetoothPubSubKeyBase + 0);
1.74 +
1.75 +/**
1.76 +KPropertyKeyBluetoothLocalDeviceAddress
1.77 +This is a deprecated constant, maintained for source compatibility with non-secured
1.78 +Symbian OS platforms.
1.79 +@publishedAll
1.80 +@deprecated
1.81 +*/
1.82 +const TUint KPropertyKeyBluetoothLocalDeviceAddress = KPropertyKeyBluetoothGetLocalDeviceAddress;
1.83 +
1.84 +//-------------
1.85 +
1.86 +/**
1.87 +KPropertyKeyBluetoothGetPHYCount
1.88 +The key to observe the the number of Bluetooth physical links attached to the local device
1.89 +The P&S value will contain the number of physical links
1.90 +@publishedAll
1.91 +@released
1.92 +@capability LocalServices Needed for both read and write access to this property
1.93 +@capability NetworkControl Needed for write access to this property
1.94 +*/
1.95 +const TUint KPropertyKeyBluetoothGetPHYCount = (KUidBluetoothPubSubKeyBase + 1);
1.96 +
1.97 +/**
1.98 +KPropertyKeyBluetoothPHYCount
1.99 +This is a deprecated constant, maintained for source compatibility with non-secured
1.100 +Symbian OS platforms.
1.101 +@publishedAll
1.102 +@deprecated
1.103 +*/
1.104 +const TUint KPropertyKeyBluetoothPHYCount = KPropertyKeyBluetoothGetPHYCount;
1.105 +
1.106 +//-------------
1.107 +
1.108 +/**
1.109 +KPropertyKeyBluetoothGetConnectingStatus
1.110 +The key to observe whether the local device is paging another device (i.e. is connecting a physical link)
1.111 +The P&S value will contain a boolean: ETrue if connecting, otherwise EFalse
1.112 +@publishedAll
1.113 +@released
1.114 +@capability LocalServices Needed for both read and write access to this property
1.115 +@capability NetworkControl Needed for write access to this property
1.116 +*/
1.117 +const TUint KPropertyKeyBluetoothGetConnectingStatus = (KUidBluetoothPubSubKeyBase + 2);
1.118 +
1.119 +/**
1.120 +KPropertyKeyBluetoothConnecting
1.121 +This is a deprecated constant, maintained for source compatibility with non-secured
1.122 +Symbian OS platforms.
1.123 +@publishedAll
1.124 +@deprecated
1.125 +*/
1.126 +const TUint KPropertyKeyBluetoothConnecting = KPropertyKeyBluetoothGetConnectingStatus;
1.127 +
1.128 +//-------------
1.129 +
1.130 +/**
1.131 +KPropertyKeyBluetoothGetScanningStatus
1.132 +The key to observe what scans the Bluetooth hardware is currently performing
1.133 +The P&S value contains an integer with the scan value as published in the Bluetooth Core Specification
1.134 +
1.135 +The use of this key is equivalent in a secure Symbian OS platform to the use of the key
1.136 +KPropertyKeyBluetoothScanning with the category KPropertyUidBluetoothCategory in a non-secure
1.137 +Symbian OS platform.
1.138 +
1.139 +@see Bluetooth Core Specification
1.140 +@publishedAll
1.141 +@released
1.142 +@capability LocalServices Needed for both read and write access to this property
1.143 +@capability NetworkControl Needed for write access to this property
1.144 +*/
1.145 +const TUint KPropertyKeyBluetoothGetScanningStatus = (KUidBluetoothPubSubKeyBase + 3);
1.146 +
1.147 +/**
1.148 +KPropertyKeyBluetoothSetScanningStatus
1.149 +The key to control what scans the Bluetooth hardware is currently performing
1.150 +The P&S value contains an integer with the scan value as published in the Bluetooth Core Specification
1.151 +
1.152 +The use of this key is equivalent in a secure Symbian OS platform to the use of the key
1.153 +KPropertyKeyBluetoothScanning with the category KPropertyUidBluetoothControlCategory in a non-secure
1.154 +Symbian OS platform.
1.155 +
1.156 +@see Bluetooth Core Specification
1.157 +@publishedAll
1.158 +@released
1.159 +@capability LocalServices Needed for both read and write access to this property
1.160 +@capability NetworkControl Needed for both read and write access to this property
1.161 +*/
1.162 +const TUint KPropertyKeyBluetoothSetScanningStatus = (KUidBluetoothPubSubKeyBase + 4);
1.163 +
1.164 +//-------------
1.165 +
1.166 +/**
1.167 +KPropertyKeyBluetoothGetLimitedDiscoverableStatus
1.168 +The key to observe whether the local device is in Limited Discoverable mode
1.169 +The P&S value will contain a boolean: ETrue if in limited discoverable mode, otherwise EFalse
1.170 +
1.171 +The use of this key is equivalent in a secure Symbian OS platform to the use of the key
1.172 +KPropertyKeyBluetoothLimitedDiscoverable with the category KPropertyUidBluetoothCategory in a non-secure
1.173 +Symbian OS platform.
1.174 +
1.175 +@publishedAll
1.176 +@released
1.177 +@capability LocalServices Needed for both read and write access to this property
1.178 +@capability NetworkControl Needed for write access to this property
1.179 +*/
1.180 +const TUint KPropertyKeyBluetoothGetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 5);
1.181 +
1.182 +/**
1.183 +KPropertyKeyBluetoothSetLimitedDiscoverableStatus
1.184 +The key to control whether the local device is in Limited Discoverable mode
1.185 +The P&S value will contain a boolean: ETrue if in limited discoverable mode, otherwise EFalse
1.186 +
1.187 +The use of this key is equivalent in a secure Symbian OS platform to the use of the key
1.188 +KPropertyKeyBluetoothLimitedDiscoverable with the category KPropertyUidBluetoothControlCategory in a non-secure
1.189 +Symbian OS platform.
1.190 +
1.191 +@publishedAll
1.192 +@released
1.193 +@capability LocalServices Needed for both read and write access to this property
1.194 +@capability NetworkControl Needed for both read and write access to this property
1.195 +*/
1.196 +
1.197 +const TUint KPropertyKeyBluetoothSetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 6);
1.198 +
1.199 +
1.200 +//-------------
1.201 +
1.202 +/**
1.203 +KPropertyKeyBluetoothGetDeviceClass
1.204 +The key to observe the class of device of the local device
1.205 +The P&S value will contain an integer of the local device class.
1.206 +
1.207 +The use of this key is equivalent in a secure Symbian OS platform to the use of the key
1.208 +KPropertyKeyBluetoothDeviceClass with the category KPropertyUidBluetoothCategory in a non-secure
1.209 +Symbian OS platform.
1.210 +
1.211 +@see Bluetooth Core Specification
1.212 +@publishedAll
1.213 +@released
1.214 +@capability LocalServices Needed for both read and write access to this property
1.215 +@capability NetworkControl Needed for write access to this property
1.216 +*/
1.217 +const TUint KPropertyKeyBluetoothGetDeviceClass = (KUidBluetoothPubSubKeyBase + 7);
1.218 +
1.219 +/**
1.220 +KPropertyKeyBluetoothSetDeviceClass
1.221 +The key to set the class of device of the local device
1.222 +The P&S value will contain an integer of the local device class.
1.223 +
1.224 +The use of this key is equivalent in a secure Symbian OS platform to the use of the key
1.225 +KPropertyKeyBluetoothDeviceClass with the category KPropertyUidBluetoothControlCategory in a non-secure
1.226 +Symbian OS platform.
1.227 +
1.228 +@see Bluetooth Core Specification
1.229 +@publishedAll
1.230 +@released
1.231 +@capability LocalServices Needed for both read and write access to this property
1.232 +@capability NetworkControl Needed for both read and write access to this property
1.233 +*/
1.234 +const TUint KPropertyKeyBluetoothSetDeviceClass = (KUidBluetoothPubSubKeyBase + 8);
1.235 +
1.236 +//-------------
1.237 +
1.238 +/**
1.239 +KPropertyKeyBluetoothSetAFHHostChannelClassification
1.240 +The key to send an AFH Host Channel Classification to the local Bluetooth hardware
1.241 +The P&S value will contain a descriptor containing the AFH Host Channel Classification
1.242 +bit set. A bit which is set to zero instructs the local Bluetooth hardware
1.243 +not to hop to the frequency represented by that bit in a connection in which
1.244 +it is master and which is using AFH. Also, if the local Bluetooth hardware is slave in a
1.245 +connection, which is using AFH, an AFH Host Channel Classification may be used to advise
1.246 +the remote master what frequencies to avoid.
1.247 +
1.248 +NB. THIS IS SUPPORTED ONLY IN VERSION 9.0 AND THEREAFTER. The same functionality can be
1.249 +accessed in 8.1 also through the use of the KPropertyKeyBluetoothAFHHostChannelClassification
1.250 +key in conjunction with category KPropertyUidBluetoothControlCategory.
1.251 +
1.252 +@see TBTAFHHostChannelClassification
1.253 +@publishedAll
1.254 +@released
1.255 +@capability LocalServices Needed for both read and write access to this property
1.256 +@capability NetworkControl Needed for both read and write access to this property
1.257 +*/
1.258 +const TUint KPropertyKeyBluetoothSetAFHHostChannelClassification = (KUidBluetoothPubSubKeyBase + 9);
1.259 +
1.260 +/**
1.261 +KPropertyKeyBluetoothAFHHostChannelClassification
1.262 +This is a deprecated constant, maintained for source compatibility with non-secured
1.263 +Symbian OS platforms.
1.264 +
1.265 +@publishedAll
1.266 +@deprecated
1.267 +*/
1.268 +const TUint KPropertyKeyBluetoothAFHHostChannelClassification = KPropertyKeyBluetoothSetAFHHostChannelClassification;
1.269 +
1.270 +//-------------
1.271 +
1.272 +/**
1.273 +KPropertyKeyBluetoothSetAFHChannelAssessmentMode
1.274 +The key to send the Bluetooth AFH Channel Assessment Mode to the local Bluetooth hardware.
1.275 +If AFH Channel Assessment Mode is on, then the local hardware will keep checking what
1.276 +channels are busy and so should be avoided in a connection using AFH.
1.277 +The P&S value will contain a boolean: ETrue if AFH Channel Assessment Mode is required,
1.278 +EFalse if not.
1.279 +The hardware is likely to support this either never, in master role only,
1.280 +or in both master and slave roles.
1.281 +The default setting of AFH Channel Assessment Mode in the hardware is 'on'
1.282 +whenever the hardware can support it.
1.283 +@publishedPartner
1.284 +@released
1.285 +@capability LocalServices Needed for both read and write access to this property
1.286 +@capability NetworkControl Needed for both read and write access to this property
1.287 +*/
1.288 +const TUint KPropertyKeyBluetoothSetAFHChannelAssessmentMode = (KUidBluetoothPubSubKeyBase + 10);
1.289 +
1.290 +/**
1.291 +KPropertyKeyBluetoothAFHChannelAssessmentMode
1.292 +This is a deprecated constant, maintained for source compatibility with non-secured
1.293 +Symbian OS platforms.
1.294 +
1.295 +@publishedPartner
1.296 +@deprecated
1.297 +*/
1.298 +const TUint KPropertyKeyBluetoothAFHChannelAssessmentMode = KPropertyKeyBluetoothSetAFHChannelAssessmentMode;
1.299 +
1.300 +//-------------
1.301 +
1.302 +/**
1.303 +KPropertyKeyBluetoothGetRegistryTableChange
1.304 +The key to observe changes in the Bluetooth Registry
1.305 +The P&S value will contain an integer describing which of the tables in the Bluetooth Registry changed
1.306 +see further in this header file.
1.307 +This property is written to only by the Symbian OS Bluetooth sub-system.
1.308 +@publishedAll
1.309 +@released
1.310 +@capability LocalServices Needed for read access to this property
1.311 +*/
1.312 +const TUint KPropertyKeyBluetoothGetRegistryTableChange = (KUidBluetoothPubSubKeyBase + 11);
1.313 +
1.314 +/**
1.315 +KPropertyKeyBluetoothRegistryTableChange
1.316 +This is a deprecated constant, maintained for source compatibility with non-secured
1.317 +Symbian OS platforms.
1.318 +
1.319 +@publishedAll
1.320 +@deprecated
1.321 +*/
1.322 +const TUint KPropertyKeyBluetoothRegistryTableChange = KPropertyKeyBluetoothGetRegistryTableChange;
1.323 +
1.324 +//-------------
1.325 +
1.326 +// Some keys have values that are "wellknown" - these are enumerated here
1.327 +// RegistryTableChanges
1.328 +
1.329 +//-------------
1.330 +
1.331 +/**
1.332 +KRegistryChangeRemoteTable
1.333 +@see KPropertyKeyBluetoothGetRegistryTableChange
1.334 +The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Remote device table changed
1.335 +@publishedAll
1.336 +@released
1.337 +*/
1.338 +const TUint KRegistryChangeRemoteTable = (KUidBluetoothPubSubKeyBase + 12);
1.339 +
1.340 +//-------------
1.341 +
1.342 +/**
1.343 +KRegistryChangeLocalTable
1.344 +@see KPropertyKeyBluetoothGetRegistryTableChange
1.345 +The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Local device table changed
1.346 +@publishedAll
1.347 +@released
1.348 +*/
1.349 +const TUint KRegistryChangeLocalTable = (KUidBluetoothPubSubKeyBase + 13);
1.350 +
1.351 +//-------------
1.352 +
1.353 +/**
1.354 +KRegistryChangeCSYTable
1.355 +@see KPropertyKeyBluetoothGetRegistryTableChange
1.356 +The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the CSY-settings table changed
1.357 +@publishedAll
1.358 +@released
1.359 +*/
1.360 +const TUint KRegistryChangeCSYTable = (KUidBluetoothPubSubKeyBase + 14);
1.361 +
1.362 +//-------------
1.363 +
1.364 +/**
1.365 +KPropertyKeyBluetoothGetDeviceName
1.366 +The key to observe the name of device of the local device
1.367 +The P&S value will be of type EText and contain the local device name in Unicode.
1.368 +At all times the name must have a length <= KHCILocalDeviceNameMaxLength (defined in hciconsts.h).
1.369 +@see Bluetooth Core Specification
1.370 +@publishedAll
1.371 +@released
1.372 +@capability LocalServices Needed for both read and write access to this property
1.373 +@capability NetworkControl Needed for write access to this property
1.374 +*/
1.375 +const TUint KPropertyKeyBluetoothGetDeviceName = (KUidBluetoothPubSubKeyBase + 15);
1.376 +
1.377 +/**
1.378 +KPropertyKeyBluetoothSetDeviceName
1.379 +The key to set the name of device of the local device
1.380 +The P&S value will be of type EText and contain the local device name in Unicode.
1.381 +At all times the name must have a length <= KHCILocalDeviceNameMaxLength (defined in hciconsts.h).
1.382 +@see Bluetooth Core Specification
1.383 +@publishedAll
1.384 +@released
1.385 +@capability LocalServices Needed for both read and write access to this property
1.386 +@capability NetworkControl Needed for both read and write access to this property
1.387 +*/
1.388 +const TUint KPropertyKeyBluetoothSetDeviceName = (KUidBluetoothPubSubKeyBase + 16);
1.389 +
1.390 +//-------------
1.391 +
1.392 +/**
1.393 +KPropertyKeyBluetoothGetCorruptRegistryResetIndication
1.394 +This key is intended to be used by the UI to be informed when a corrupt
1.395 +Bluetooth registry has been detected so that the UI can inform the user
1.396 +that all of the pairings they have made have been lost.
1.397 +
1.398 +The P&S value will either be 0 or give the tick count, as given by
1.399 +User::TickCount(), at the time which the corrupt Bluetooth Registry has
1.400 +been restored or replaced. If the key is 0 this means that the Bluetooth
1.401 +registry has not been found to be corrupt since the device was turned on.
1.402 +@publishedAll
1.403 +@released
1.404 +@capability LocalServices Needed for both read and write access to this property
1.405 +@capability NetworkControl Needed for write access to this property
1.406 +*/
1.407 +const TUint KPropertyKeyBluetoothGetCorruptRegistryResetIndication = (KUidBluetoothPubSubKeyBase + 17);
1.408 +
1.409 +/**
1.410 +KPropertyKeyBluetoothCorruptRegistryReset
1.411 +This is a deprecated constant, maintained for source compatibility with non-secured
1.412 +Symbian OS platforms.
1.413 +
1.414 +@publishedAll
1.415 +@deprecated
1.416 +*/
1.417 +const TUint KPropertyKeyBluetoothCorruptRegistryReset = KPropertyKeyBluetoothGetCorruptRegistryResetIndication;
1.418 +
1.419 +//-------------
1.420 +
1.421 +/**
1.422 +KPropertyKeyBluetoothGetAcceptPairedOnlyMode
1.423 +This key is intended to be used by the UI to discover whether a device will accept all connections or only paired ones.
1.424 +The P&S value will contain a boolean: ETrue - the stack will only to accept connection requests from paired devices.
1.425 +EFalse - the stack will accept connection requests from both paired and unpaired devices.
1.426 +@publishedAll
1.427 +@released
1.428 +@capability LocalServices Needed for both read and write access to this property
1.429 +@capability NetworkControl Needed for write access to this property
1.430 +*/
1.431 +const TUint KPropertyKeyBluetoothGetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 18);
1.432 +
1.433 +/**
1.434 +KPropertyKeyBluetoothSetAcceptPairedOnlyMode
1.435 +The key to set the mode for handling connection requests
1.436 +The P&S value will contain a boolean: ETrue - the user wishes ONLY to accept connection requests from paired devices.
1.437 +EFalse - the user wishes to accept connection requests from both paired and unpaired devices.
1.438 +@publishedAll
1.439 +@released
1.440 +@capability LocalServices Needed for both read and write access to this property
1.441 +@capability NetworkControl Needed for both read and write access to this property
1.442 +*/
1.443 +const TUint KPropertyKeyBluetoothSetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 19);
1.444 +
1.445 +/**
1.446 +KPropertyKeyBluetoothHostResolverActive
1.447 +The key is intended to be used by the UI to discover whether the device is attempting to do a discovery
1.448 +If the device is attempting a discovery activities such as streaming of AV data will be affected
1.449 +The P&S value will contain a boolean: ETrue - the stack is attempting a discovery/discovery+rnr
1.450 +EFalse - the stack is curently not attempting a discovery
1.451 +@publishedAll
1.452 +@released
1.453 +@capability LocalServices Needed for both read and write access to this property
1.454 +@capability NetworkControl Needed for write access to this property
1.455 +*/
1.456 +const TUint KPropertyKeyBluetoothHostResolverActive = (KUidBluetoothPubSubKeyBase + 20);
1.457 +
1.458 +/**
1.459 +KPropertyKeyBluetoothSetSimplePairingDebugMode
1.460 +The key is intended to be used by a platform to set the stack into simple pairing debug mode.
1.461 +Once enabled (by setting to ETrue) then it cannot be disabled, the mode will remain set until
1.462 +the Bluetooth stack has been restarted.
1.463 +When the Symbian simple pairing debug mode is enabled then the stack will instruct the hardware
1.464 +to generate debug link keys for use with air traffic capture.
1.465 +When the Symbian simple pairing debug mode is disabled a remote device attempting to make a
1.466 +connection with a debug link key will be rejected for secure reasons.
1.467 +@publishedPartner
1.468 +@released
1.469 +@capability LocalServices Needed for both read and write access to this property
1.470 +@capability CommDD Needed for write access to this property
1.471 +*/
1.472 +const TUint KPropertyKeyBluetoothSetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 21);
1.473 +
1.474 +/**
1.475 +KPropertyKeyBluetoothGetSimplePairingDebugMode
1.476 +The key is intended to be used by a UI to provide an indication to the user of the device that the
1.477 +Symbian simple pairing debug mode has been enabled.
1.478 +As this mode should only be being used by engineers, and provides a potential security risk for
1.479 +end users the UI should make obvious to an end-user that they have entered this mode and what it
1.480 +means for them.
1.481 +@capability LocalServices Needed for both read and write access to this property
1.482 +@capability NetworkControl Needed for write access to this property
1.483 +*/
1.484 +const TUint KPropertyKeyBluetoothGetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 22);
1.485 +
1.486 +
1.487 +#endif //BT_SUBSCRIBE_H