williamr@2: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Publish and Subscribe keys and categories. williamr@2: // Allows clients to observe various events published by the Bluetooth subsystem, williamr@2: // and for clients to influence some parameters in the Bluetooth subsystem williamr@2: // williamr@2: // williamr@2: williamr@2: williamr@2: #ifndef BT_SUBSCRIBE_H williamr@2: #define BT_SUBSCRIBE_H williamr@2: williamr@4: #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS williamr@4: #include williamr@4: #endif williamr@4: williamr@4: #include williamr@4: williamr@2: #include williamr@2: williamr@2: // P&S Categories williamr@2: williamr@2: /** williamr@2: KPropertyUidBluetoothCategory williamr@2: This is a deprecated constant, maintained for source compatibility with non-secured williamr@2: Symbian OS platforms. williamr@2: williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TUid KPropertyUidBluetoothCategory = {KUidSystemCategoryValue}; williamr@2: williamr@2: /** williamr@2: KPropertyUidBluetoothControlCategory williamr@2: This is a deprecated constant, maintained for source compatibility with non-secured williamr@2: Symbian OS platforms. williamr@2: williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TUid KPropertyUidBluetoothControlCategory = {KUidSystemCategoryValue}; williamr@2: williamr@2: // P&S Keys williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetLocalDeviceAddress williamr@2: The key to observe the device address of the local Bluetooth hardware williamr@2: The P&S value will contain a descriptor of the device address williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetLocalDeviceAddress = (KUidBluetoothPubSubKeyBase + 0); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothLocalDeviceAddress williamr@2: This is a deprecated constant, maintained for source compatibility with non-secured williamr@2: Symbian OS platforms. williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothLocalDeviceAddress = KPropertyKeyBluetoothGetLocalDeviceAddress; williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetPHYCount williamr@2: The key to observe the the number of Bluetooth physical links attached to the local device williamr@2: The P&S value will contain the number of physical links williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetPHYCount = (KUidBluetoothPubSubKeyBase + 1); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothPHYCount williamr@2: This is a deprecated constant, maintained for source compatibility with non-secured williamr@2: Symbian OS platforms. williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothPHYCount = KPropertyKeyBluetoothGetPHYCount; williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetConnectingStatus williamr@2: The key to observe whether the local device is paging another device (i.e. is connecting a physical link) williamr@2: The P&S value will contain a boolean: ETrue if connecting, otherwise EFalse williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetConnectingStatus = (KUidBluetoothPubSubKeyBase + 2); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothConnecting williamr@2: This is a deprecated constant, maintained for source compatibility with non-secured williamr@2: Symbian OS platforms. williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothConnecting = KPropertyKeyBluetoothGetConnectingStatus; williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetScanningStatus williamr@2: The key to observe what scans the Bluetooth hardware is currently performing williamr@2: The P&S value contains an integer with the scan value as published in the Bluetooth Core Specification williamr@2: williamr@2: The use of this key is equivalent in a secure Symbian OS platform to the use of the key williamr@2: KPropertyKeyBluetoothScanning with the category KPropertyUidBluetoothCategory in a non-secure williamr@2: Symbian OS platform. williamr@2: williamr@2: @see Bluetooth Core Specification williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetScanningStatus = (KUidBluetoothPubSubKeyBase + 3); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothSetScanningStatus williamr@2: The key to control what scans the Bluetooth hardware is currently performing williamr@2: The P&S value contains an integer with the scan value as published in the Bluetooth Core Specification williamr@2: williamr@2: The use of this key is equivalent in a secure Symbian OS platform to the use of the key williamr@2: KPropertyKeyBluetoothScanning with the category KPropertyUidBluetoothControlCategory in a non-secure williamr@2: Symbian OS platform. williamr@2: williamr@2: @see Bluetooth Core Specification williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for both read and write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothSetScanningStatus = (KUidBluetoothPubSubKeyBase + 4); williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetLimitedDiscoverableStatus williamr@2: The key to observe whether the local device is in Limited Discoverable mode williamr@2: The P&S value will contain a boolean: ETrue if in limited discoverable mode, otherwise EFalse williamr@2: williamr@2: The use of this key is equivalent in a secure Symbian OS platform to the use of the key williamr@2: KPropertyKeyBluetoothLimitedDiscoverable with the category KPropertyUidBluetoothCategory in a non-secure williamr@2: Symbian OS platform. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 5); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothSetLimitedDiscoverableStatus williamr@2: The key to control whether the local device is in Limited Discoverable mode williamr@2: The P&S value will contain a boolean: ETrue if in limited discoverable mode, otherwise EFalse williamr@2: williamr@2: The use of this key is equivalent in a secure Symbian OS platform to the use of the key williamr@2: KPropertyKeyBluetoothLimitedDiscoverable with the category KPropertyUidBluetoothControlCategory in a non-secure williamr@2: Symbian OS platform. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for both read and write access to this property williamr@2: */ williamr@2: williamr@2: const TUint KPropertyKeyBluetoothSetLimitedDiscoverableStatus = (KUidBluetoothPubSubKeyBase + 6); williamr@2: williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetDeviceClass williamr@2: The key to observe the class of device of the local device williamr@2: The P&S value will contain an integer of the local device class. williamr@2: williamr@2: The use of this key is equivalent in a secure Symbian OS platform to the use of the key williamr@2: KPropertyKeyBluetoothDeviceClass with the category KPropertyUidBluetoothCategory in a non-secure williamr@2: Symbian OS platform. williamr@2: williamr@2: @see Bluetooth Core Specification williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetDeviceClass = (KUidBluetoothPubSubKeyBase + 7); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothSetDeviceClass williamr@2: The key to set the class of device of the local device williamr@2: The P&S value will contain an integer of the local device class. williamr@2: williamr@2: The use of this key is equivalent in a secure Symbian OS platform to the use of the key williamr@2: KPropertyKeyBluetoothDeviceClass with the category KPropertyUidBluetoothControlCategory in a non-secure williamr@2: Symbian OS platform. williamr@2: williamr@2: @see Bluetooth Core Specification williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for both read and write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothSetDeviceClass = (KUidBluetoothPubSubKeyBase + 8); williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothSetAFHHostChannelClassification williamr@2: The key to send an AFH Host Channel Classification to the local Bluetooth hardware williamr@2: The P&S value will contain a descriptor containing the AFH Host Channel Classification williamr@2: bit set. A bit which is set to zero instructs the local Bluetooth hardware williamr@2: not to hop to the frequency represented by that bit in a connection in which williamr@2: it is master and which is using AFH. Also, if the local Bluetooth hardware is slave in a williamr@2: connection, which is using AFH, an AFH Host Channel Classification may be used to advise williamr@2: the remote master what frequencies to avoid. williamr@2: williamr@2: NB. THIS IS SUPPORTED ONLY IN VERSION 9.0 AND THEREAFTER. The same functionality can be williamr@2: accessed in 8.1 also through the use of the KPropertyKeyBluetoothAFHHostChannelClassification williamr@2: key in conjunction with category KPropertyUidBluetoothControlCategory. williamr@2: williamr@2: @see TBTAFHHostChannelClassification williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for both read and write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothSetAFHHostChannelClassification = (KUidBluetoothPubSubKeyBase + 9); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothAFHHostChannelClassification williamr@2: This is a deprecated constant, maintained for source compatibility with non-secured williamr@2: Symbian OS platforms. williamr@2: williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothAFHHostChannelClassification = KPropertyKeyBluetoothSetAFHHostChannelClassification; williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetRegistryTableChange williamr@2: The key to observe changes in the Bluetooth Registry williamr@2: The P&S value will contain an integer describing which of the tables in the Bluetooth Registry changed williamr@2: see further in this header file. williamr@2: This property is written to only by the Symbian OS Bluetooth sub-system. williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for read access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetRegistryTableChange = (KUidBluetoothPubSubKeyBase + 11); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothRegistryTableChange williamr@2: This is a deprecated constant, maintained for source compatibility with non-secured williamr@2: Symbian OS platforms. williamr@2: williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothRegistryTableChange = KPropertyKeyBluetoothGetRegistryTableChange; williamr@2: williamr@2: //------------- williamr@2: williamr@2: // Some keys have values that are "wellknown" - these are enumerated here williamr@2: // RegistryTableChanges williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KRegistryChangeRemoteTable williamr@2: @see KPropertyKeyBluetoothGetRegistryTableChange williamr@2: The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Remote device table changed williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TUint KRegistryChangeRemoteTable = (KUidBluetoothPubSubKeyBase + 12); williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KRegistryChangeLocalTable williamr@2: @see KPropertyKeyBluetoothGetRegistryTableChange williamr@2: The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the Local device table changed williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TUint KRegistryChangeLocalTable = (KUidBluetoothPubSubKeyBase + 13); williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KRegistryChangeCSYTable williamr@2: @see KPropertyKeyBluetoothGetRegistryTableChange williamr@2: The value in the KPropertyKeyBluetoothGetRegistryTableChange key if the CSY-settings table changed williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: const TUint KRegistryChangeCSYTable = (KUidBluetoothPubSubKeyBase + 14); williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetDeviceName williamr@2: The key to observe the name of device of the local device williamr@2: The P&S value will be of type EText and contain the local device name in Unicode. williamr@2: At all times the name must have a length <= KHCILocalDeviceNameMaxLength (defined in hciconsts.h). williamr@2: @see Bluetooth Core Specification williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetDeviceName = (KUidBluetoothPubSubKeyBase + 15); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothSetDeviceName williamr@2: The key to set the name of device of the local device williamr@2: The P&S value will be of type EText and contain the local device name in Unicode. williamr@2: At all times the name must have a length <= KHCILocalDeviceNameMaxLength (defined in hciconsts.h). williamr@2: @see Bluetooth Core Specification williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for both read and write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothSetDeviceName = (KUidBluetoothPubSubKeyBase + 16); williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetCorruptRegistryResetIndication williamr@2: This key is intended to be used by the UI to be informed when a corrupt williamr@2: Bluetooth registry has been detected so that the UI can inform the user williamr@2: that all of the pairings they have made have been lost. williamr@2: williamr@2: The P&S value will either be 0 or give the tick count, as given by williamr@2: User::TickCount(), at the time which the corrupt Bluetooth Registry has williamr@2: been restored or replaced. If the key is 0 this means that the Bluetooth williamr@2: registry has not been found to be corrupt since the device was turned on. williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetCorruptRegistryResetIndication = (KUidBluetoothPubSubKeyBase + 17); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothCorruptRegistryReset williamr@2: This is a deprecated constant, maintained for source compatibility with non-secured williamr@2: Symbian OS platforms. williamr@2: williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothCorruptRegistryReset = KPropertyKeyBluetoothGetCorruptRegistryResetIndication; williamr@2: williamr@2: //------------- williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetAcceptPairedOnlyMode williamr@2: This key is intended to be used by the UI to discover whether a device will accept all connections or only paired ones. williamr@2: The P&S value will contain a boolean: ETrue - the stack will only to accept connection requests from paired devices. williamr@2: EFalse - the stack will accept connection requests from both paired and unpaired devices. williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 18); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothSetAcceptPairedOnlyMode williamr@2: The key to set the mode for handling connection requests williamr@2: The P&S value will contain a boolean: ETrue - the user wishes ONLY to accept connection requests from paired devices. williamr@2: EFalse - the user wishes to accept connection requests from both paired and unpaired devices. williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for both read and write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothSetAcceptPairedOnlyMode = (KUidBluetoothPubSubKeyBase + 19); williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothHostResolverActive williamr@2: The key is intended to be used by the UI to discover whether the device is attempting to do a discovery williamr@2: If the device is attempting a discovery activities such as streaming of AV data will be affected williamr@2: The P&S value will contain a boolean: ETrue - the stack is attempting a discovery/discovery+rnr williamr@2: EFalse - the stack is curently not attempting a discovery williamr@2: @publishedAll williamr@2: @released williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothHostResolverActive = (KUidBluetoothPubSubKeyBase + 20); williamr@2: williamr@2: williamr@2: /** williamr@2: KPropertyKeyBluetoothGetSimplePairingDebugMode williamr@2: The key is intended to be used by a UI to provide an indication to the user of the device that the williamr@2: Symbian simple pairing debug mode has been enabled. williamr@2: As this mode should only be being used by engineers, and provides a potential security risk for williamr@2: end users the UI should make obvious to an end-user that they have entered this mode and what it williamr@2: means for them. williamr@2: @capability LocalServices Needed for both read and write access to this property williamr@2: @capability NetworkControl Needed for write access to this property williamr@2: */ williamr@2: const TUint KPropertyKeyBluetoothGetSimplePairingDebugMode = (KUidBluetoothPubSubKeyBase + 22); williamr@2: williamr@2: williamr@2: #endif //BT_SUBSCRIBE_H