diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/common_tsy/featmgrstub/inc/featurecmn.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/common_tsy/featmgrstub/inc/featurecmn.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,187 @@ +/* +* Copyright (c) 2007-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: +* This file contains Feature Manager related definitions for use by the test Feature Manager stub. +* +*/ + + + + +#ifndef FEATURECMN_H +#define FEATURECMN_H + +#include +#include + +const TInt KFeatureUnsupported( 0 ); +const TInt KFeatureSupported( 1 ); + +/** An enumeration for accessing feature status flags. + @see TBitFlagsT +*/ +enum TFeatureFlags + { + /** If set, feature is supported and available for use; + if not, feature is not supported. + */ + EFeatureSupported = 0, + /** If set, feature is upgradeable. The feature is known to the device + but it must be upgraded to enable it. If a feature s blacklisted, + its upgradeable flag is unset. + */ + EFeatureUpgradeable = 1, + /** If set, the feature is modifiable and may be enabled/disabled + at run-time. The initial flag values for such a feature flag are + defined in a ROM image obey file. + */ + EFeatureModifiable = 2, + /** If set, the feature has been blacklisted, and may not be changed at + run-time. This also prevents a feature from being upgraded. + */ + EFeatureBlackListed = 3, + /** If set, this flag Supported state is unknown at build-time and is + initialised at run-time by system software. The Feature Manager will + ignore the Supported flag in the file. A run-time call to RFeatureControl + will be needed to set the feature's supported flag. Look ups of + uninitialised features result in a KErrNotReady error code. + */ + EFeatureUninitialized = 4, + /** If set, this flag is saved to the system drive when modified + preserving its value across reboots/power downs. + */ + EFeaturePersisted = 5, + + // Bits 6..23 Reserved for Symbian to define for future use, always zero. + + // High byte bits are undefined, reserved for internal use + EFeatureReserved24 = 24, + EFeatureReserved25 = 25, + EFeatureReserved26 = 26, + EFeatureReserved27 = 27, + EFeatureReserved28 = 28, + EFeatureReserved29 = 29, + EFeatureReserved30 = 30, + EFeatureReserved31 = 31 + + }; + +/** An enumeration for checking feature change type. +*/ +enum TFeatureChangeType + { + /** Feature status not changed. + */ + EFeatureNoChange = 0, + /** Feature status changed to enabled or disabled. + */ + EFeatureStatusUpdated = 1, + /** Feature data changed. + */ + EFeatureDataUpdated = 2, + /** Feature status and data changed. + */ + EFeatureStatusDataUpdated = 3, + /** Not used, future: complex change occurred, reload all features. + */ + EFeatureRediscover = 4, + /** Not used, future: new feature has been added to system. + */ + EFeatureFeatureCreated = 5 + }; + +/** + Feature entry class. + Used by Feature Manager and its clients. + +*/ + +class TFeatureEntry + { + public: + + /** + Default constructor. + Needed by clients using the method + FeatureSupported( TFeatureEntry& aFeature ) of Feature Control API. + + @param aFeature Feature UID. + */ + IMPORT_C TFeatureEntry( TUid aFeature ); + + /** + Default constructor. + Needed by clients using the method + AddFeature( TFeatureEntry& aFeature ) of Feature Control API. + + @param aFeature Feature UID. + @param aFlags Feature status flags. + @param aData Feature data. + */ + IMPORT_C TFeatureEntry( TUid aFeature, TBitFlags32 aFlags, TUint32 aData ); + + /** + Returns feature UID. + */ + IMPORT_C TUid FeatureUid() const; + + /** + Returns feature status flags. + */ + IMPORT_C TBitFlags32 FeatureFlags() const; + + /** + Returns feature data. + */ + IMPORT_C TUint32 FeatureData() const; + + public: + /** + Default constructor. + Used by Feature Manager. + */ + IMPORT_C TFeatureEntry(); + + private: + + /** UID of the feature. */ + TUid iFeatureID; + /** + Value of the feature status flags. + @see TFeatureFlags + */ + TBitFlags32 iFlags; + /** Data associated with feature. */ + TUint32 iData; + /** + Reserved for future use. + Initialised to 0 on construction. + */ + TUint32 iReserved; + }; + + +/** + Defines the feature UID array. +*/ +typedef RArray RFeatureUidArray; + +/** + Defines the feature entry array. +*/ +typedef RArray RFeatureArray; + +#endif // FEATURECMN_H + +// End of File