epoc32/include/bt_subscribe.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
     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