bluetoothmgmt/bluetoothclientlib/inc/bt_subscribe_sec.h
changeset 0 29b1cd4cb562
equal deleted inserted replaced
-1:000000000000 0:29b1cd4cb562
       
     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".
       
     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 #ifndef BT_SUBSCRIBE_H
       
    22 #define BT_SUBSCRIBE_H
       
    23 
       
    24 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
       
    25 #include <bt_subscribe_partner.h>
       
    26 #endif
       
    27 
       
    28 #include <bt_subscribe_keybase.h>
       
    29 
       
    30 #include <e32property.h>
       
    31 
       
    32 // P&S Categories
       
    33  
       
    34 /**
       
    35 KPropertyUidBluetoothCategory
       
    36 This is a deprecated constant, maintained for source compatibility with non-secured 
       
    37 Symbian OS platforms.
       
    38 
       
    39 @publishedAll
       
    40 @deprecated
       
    41 */
       
    42 const TUid KPropertyUidBluetoothCategory = {KUidSystemCategoryValue};
       
    43 
       
    44 /**
       
    45 KPropertyUidBluetoothControlCategory
       
    46 This is a deprecated constant, maintained for source compatibility with non-secured 
       
    47 Symbian OS platforms.
       
    48 
       
    49 @publishedAll
       
    50 @deprecated
       
    51 */
       
    52 const TUid KPropertyUidBluetoothControlCategory = {KUidSystemCategoryValue};
       
    53 
       
    54 // P&S Keys
       
    55 
       
    56 //-------------
       
    57 
       
    58 /**
       
    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
       
    62 @publishedAll
       
    63 @released
       
    64 @capability LocalServices	Needed for both read and write access to this property
       
    65 @capability NetworkControl	Needed for write access to this property
       
    66 */
       
    67 const TUint KPropertyKeyBluetoothGetLocalDeviceAddress = (KUidBluetoothPubSubKeyBase + 0);
       
    68 
       
    69 /**
       
    70 KPropertyKeyBluetoothLocalDeviceAddress
       
    71 This is a deprecated constant, maintained for source compatibility with non-secured 
       
    72 Symbian OS platforms.
       
    73 @publishedAll
       
    74 @deprecated
       
    75 */
       
    76 const TUint KPropertyKeyBluetoothLocalDeviceAddress = KPropertyKeyBluetoothGetLocalDeviceAddress;
       
    77 
       
    78 //-------------
       
    79 
       
    80 /**
       
    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
       
    84 @publishedAll
       
    85 @released
       
    86 @capability LocalServices	Needed for both read and write access to this property
       
    87 @capability NetworkControl	Needed for write access to this property
       
    88 */
       
    89 const TUint KPropertyKeyBluetoothGetPHYCount = (KUidBluetoothPubSubKeyBase + 1);
       
    90 
       
    91 /**
       
    92 KPropertyKeyBluetoothPHYCount
       
    93 This is a deprecated constant, maintained for source compatibility with non-secured 
       
    94 Symbian OS platforms.
       
    95 @publishedAll
       
    96 @deprecated
       
    97 */
       
    98 const TUint KPropertyKeyBluetoothPHYCount = KPropertyKeyBluetoothGetPHYCount;
       
    99 
       
   100 //-------------
       
   101 
       
   102 /**
       
   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
       
   106 @publishedAll
       
   107 @released
       
   108 @capability LocalServices	Needed for both read and write access to this property
       
   109 @capability NetworkControl	Needed for write access to this property
       
   110 */
       
   111 const TUint KPropertyKeyBluetoothGetConnectingStatus = (KUidBluetoothPubSubKeyBase + 2);
       
   112 
       
   113 /**
       
   114 KPropertyKeyBluetoothConnecting
       
   115 This is a deprecated constant, maintained for source compatibility with non-secured 
       
   116 Symbian OS platforms.
       
   117 @publishedAll
       
   118 @deprecated
       
   119 */
       
   120 const TUint KPropertyKeyBluetoothConnecting = KPropertyKeyBluetoothGetConnectingStatus;
       
   121 
       
   122 //-------------
       
   123 
       
   124 /**
       
   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
       
   128 
       
   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
       
   131 Symbian OS platform.
       
   132 
       
   133 @see Bluetooth Core Specification
       
   134 @publishedAll
       
   135 @released
       
   136 @capability LocalServices	Needed for both read and write access to this property
       
   137 @capability NetworkControl	Needed for write access to this property
       
   138 */
       
   139 const TUint KPropertyKeyBluetoothGetScanningStatus = (KUidBluetoothPubSubKeyBase + 3);
       
   140 
       
   141 /**
       
   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
       
   145 
       
   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
       
   148 Symbian OS platform.
       
   149 
       
   150 @see Bluetooth Core Specification
       
   151 @publishedAll
       
   152 @released
       
   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
       
   155 */
       
   156 const TUint KPropertyKeyBluetoothSetScanningStatus = (KUidBluetoothPubSubKeyBase + 4);
       
   157 
       
   158 //-------------
       
   159 
       
   160 /**
       
   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
       
   164 
       
   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
       
   167 Symbian OS platform.
       
   168 
       
   169 @publishedAll
       
   170 @released
       
   171 @capability LocalServices	Needed for both read and write access to this property
       
   172 @capability NetworkControl	Needed for write access to this property
       
   173 */
       
   174 const TUint KPropertyKeyBluetoothGetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 5);
       
   175 
       
   176 /**
       
   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
       
   180 
       
   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
       
   183 Symbian OS platform.
       
   184 
       
   185 @publishedAll
       
   186 @released
       
   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
       
   189 */
       
   190 
       
   191 const TUint KPropertyKeyBluetoothSetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 6);
       
   192 
       
   193 
       
   194 //-------------
       
   195 
       
   196 /**
       
   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.
       
   200 
       
   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
       
   203 Symbian OS platform.
       
   204 
       
   205 @see Bluetooth Core Specification
       
   206 @publishedAll
       
   207 @released
       
   208 @capability LocalServices	Needed for both read and write access to this property
       
   209 @capability NetworkControl	Needed for write access to this property
       
   210 */
       
   211 const TUint KPropertyKeyBluetoothGetDeviceClass = (KUidBluetoothPubSubKeyBase + 7);
       
   212 
       
   213 /**
       
   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.
       
   217 
       
   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
       
   220 Symbian OS platform.
       
   221 
       
   222 @see Bluetooth Core Specification
       
   223 @publishedAll
       
   224 @released
       
   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
       
   227 */
       
   228 const TUint KPropertyKeyBluetoothSetDeviceClass = (KUidBluetoothPubSubKeyBase + 8);
       
   229 
       
   230 //-------------
       
   231 
       
   232 /**
       
   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.
       
   241 
       
   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.
       
   245 
       
   246 @see TBTAFHHostChannelClassification
       
   247 @publishedAll
       
   248 @released
       
   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
       
   251 */
       
   252 const TUint KPropertyKeyBluetoothSetAFHHostChannelClassification = (KUidBluetoothPubSubKeyBase + 9);
       
   253 
       
   254 /**
       
   255 KPropertyKeyBluetoothAFHHostChannelClassification
       
   256 This is a deprecated constant, maintained for source compatibility with non-secured 
       
   257 Symbian OS platforms.
       
   258 
       
   259 @publishedAll
       
   260 @deprecated
       
   261 */
       
   262 const TUint KPropertyKeyBluetoothAFHHostChannelClassification = KPropertyKeyBluetoothSetAFHHostChannelClassification;
       
   263 
       
   264 //-------------
       
   265 
       
   266 /**
       
   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.
       
   272 @publishedAll
       
   273 @released
       
   274 @capability LocalServices	Needed for read access to this property
       
   275 */
       
   276 const TUint KPropertyKeyBluetoothGetRegistryTableChange = (KUidBluetoothPubSubKeyBase + 11);
       
   277 
       
   278 /**
       
   279 KPropertyKeyBluetoothRegistryTableChange
       
   280 This is a deprecated constant, maintained for source compatibility with non-secured 
       
   281 Symbian OS platforms.
       
   282 
       
   283 @publishedAll
       
   284 @deprecated
       
   285 */
       
   286 const TUint KPropertyKeyBluetoothRegistryTableChange = KPropertyKeyBluetoothGetRegistryTableChange;
       
   287 
       
   288 //-------------
       
   289 
       
   290 // Some keys have values that are "wellknown" - these are enumerated here
       
   291 // RegistryTableChanges
       
   292 
       
   293 //-------------
       
   294 
       
   295 /**
       
   296 KRegistryChangeRemoteTable
       
   297 @see KPropertyKeyBluetoothGetRegistryTableChange
       
   298 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Remote device table changed
       
   299 @publishedAll
       
   300 @released
       
   301 */
       
   302 const TUint KRegistryChangeRemoteTable = (KUidBluetoothPubSubKeyBase + 12);
       
   303 
       
   304 //-------------
       
   305 
       
   306 /**
       
   307 KRegistryChangeLocalTable
       
   308 @see KPropertyKeyBluetoothGetRegistryTableChange
       
   309 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Local device table changed
       
   310 @publishedAll
       
   311 @released
       
   312 */
       
   313 const TUint KRegistryChangeLocalTable = (KUidBluetoothPubSubKeyBase + 13);
       
   314 
       
   315 //-------------
       
   316 
       
   317 /**
       
   318 KRegistryChangeCSYTable
       
   319 @see KPropertyKeyBluetoothGetRegistryTableChange
       
   320 The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the CSY-settings table changed
       
   321 @publishedAll
       
   322 @released
       
   323 */
       
   324 const TUint KRegistryChangeCSYTable = (KUidBluetoothPubSubKeyBase + 14);
       
   325 
       
   326 //-------------
       
   327 
       
   328 /**
       
   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
       
   334 @publishedAll
       
   335 @released
       
   336 @capability LocalServices	Needed for both read and write access to this property
       
   337 @capability NetworkControl	Needed for write access to this property
       
   338 */
       
   339 const TUint KPropertyKeyBluetoothGetDeviceName = (KUidBluetoothPubSubKeyBase + 15);
       
   340 
       
   341 /**
       
   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
       
   347 @publishedAll
       
   348 @released
       
   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
       
   351 */
       
   352 const TUint KPropertyKeyBluetoothSetDeviceName = (KUidBluetoothPubSubKeyBase + 16);
       
   353 
       
   354 //-------------
       
   355 
       
   356 /**
       
   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.
       
   361 
       
   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.
       
   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 KPropertyKeyBluetoothGetCorruptRegistryResetIndication = (KUidBluetoothPubSubKeyBase + 17);
       
   372 
       
   373 /**
       
   374 KPropertyKeyBluetoothCorruptRegistryReset
       
   375 This is a deprecated constant, maintained for source compatibility with non-secured 
       
   376 Symbian OS platforms.
       
   377 
       
   378 @publishedAll
       
   379 @deprecated
       
   380 */
       
   381 const TUint KPropertyKeyBluetoothCorruptRegistryReset = KPropertyKeyBluetoothGetCorruptRegistryResetIndication;
       
   382  
       
   383 //-------------
       
   384 
       
   385 /**
       
   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.
       
   390 @publishedAll
       
   391 @released
       
   392 @capability LocalServices	Needed for both read and write access to this property
       
   393 @capability NetworkControl	Needed for write access to this property
       
   394 */
       
   395 const TUint KPropertyKeyBluetoothGetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 18);
       
   396 
       
   397 /**
       
   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.
       
   402 @publishedAll
       
   403 @released
       
   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
       
   406 */
       
   407 const TUint KPropertyKeyBluetoothSetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 19);
       
   408 
       
   409 /**
       
   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
       
   415 @publishedAll
       
   416 @released
       
   417 @capability LocalServices	Needed for both read and write access to this property
       
   418 @capability NetworkControl	Needed for write access to this property
       
   419 */
       
   420 const TUint KPropertyKeyBluetoothHostResolverActive = (KUidBluetoothPubSubKeyBase + 20); 
       
   421 
       
   422 
       
   423 /**
       
   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
       
   429 means for them.
       
   430 @capability LocalServices	Needed for both read and write access to this property
       
   431 @capability NetworkControl	Needed for write access to this property
       
   432 */
       
   433 const TUint KPropertyKeyBluetoothGetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 22);
       
   434 
       
   435 
       
   436 #endif //BT_SUBSCRIBE_H