epoc32/include/bt_subscribe.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     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