diff -r 000000000000 -r 08ec8eefde2f featuremgmt/featuremgr/src/serverexe/featmgrfeatureentry.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/featuremgmt/featuremgr/src/serverexe/featmgrfeatureentry.h Fri Jan 22 11:06:30 2010 +0200 @@ -0,0 +1,137 @@ +/* +* 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: +* +*/ + + + +#ifndef FEATMGRFEATUREENTRY_H +#define FEATMGRFEATUREENTRY_H + +#include +#include + +class RReadStream; +class RWriteStream; + + +/** +An enumeration for accessing internal feature status flags bits 24..31 used +inside the server. See TFeatureFlags in published header featurecmn.h for the +flag definitions 0..23. + +@see TFeatureFlags +@see TBitFlagsT +@internalComponent +*/ +enum TFeatureFlagsServer + { + // Do not define flags here for values 0..23. See TFeatureFlags enum. + + /** If set, the feature flag is a Runtime feature flag (created at run time). + if not set means source of feature flag is ROM or plug-in */ + EFeatureRuntime = 24, + + // Reserved flags, these are not currently used in the server + EFeatureFlagUnused25 = 25, + EFeatureFlagUnused26 = 26, + EFeatureFlagUnused27 = 27, + EFeatureFlagUnused28 = 28, + EFeatureFlagUnused29 = 29, + EFeatureFlagUnused30 = 30, + EFeatureFlagUnused31 = 31 + }; + + +// CLASS DECLARATION +// @see corresponding client side class TFeatureEntry + +class TFeatureServerEntry + { + public: + + /** + * Constructors. + */ + TFeatureServerEntry(); + TFeatureServerEntry( TUid aFeature ); + TFeatureServerEntry( TUid aFeature, TBitFlags32 aFlags, TUint32 aData ); + TFeatureServerEntry( TFeatureEntry& aEntry ); + + /** + * Returns feature status flags. + */ + TBitFlags32 FeatureFlags() const; + + /** + * Returns feature data. + */ + TUint32 FeatureData() const; + + /** + * Returns feature UID. + */ + TUid FeatureUid() const; + + /** + * Internalize object from stream + */ + void InternalizeL( RReadStream& aStream ); + + /** + * Externalize object from stream + */ + void ExternalizeL( RWriteStream& aStream ) const; + + /** + *This sets a feature's flags and data + */ + void inline Set( TFeatureServerEntry aEntry) + { + iFlags = aEntry.FeatureFlags(); + iData = aEntry.FeatureData(); + } + + /** + *This sets a feature's flags and data + */ + void inline Set(TBitFlags32 aFlags, TUint32 aData) + { + iFlags = aFlags; + iData = aData; + } + + private: + + /** UID of the feature. */ + TUid iFeatureID; + + /** Value of the feature status flags. + @see TFeatureFlags + @see TFeatureFlagsServer */ + TBitFlags32 iFlags; + + /** Data associated with feature. */ + TUint32 iData; + }; + +/** +* Defines TFeatureEntry array. +*/ +typedef RArray RFeatureServerArray; + +#endif // FEATMGRFEATUREENTRY_H + +// End of File