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