diff -r 000000000000 -r bde4ae8d615e os/persistentdata/featuremgmt/featuremgr/src/featdiscovery/featdiscoveryimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/persistentdata/featuremgmt/featuremgr/src/featdiscovery/featdiscoveryimpl.h Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,119 @@ +/* +* 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 FEATDISCOVERYIMPL_H +#define FEATDISCOVERYIMPL_H + +// INCLUDES +#include + +#include "featurecontrol.h" + +class CFeatureDiscoveryImpl : public CBase + { + public: + + /** + * This is a two-phase constructor method that is used to create + * a new instance of the CFeatureDiscoveryImpl class. + * + * @return a pointer to a new instance of the CFeatureDiscoveryImpl class. + * + * @leave Any One of the Symbian OS system-wide error codes + */ + static CFeatureDiscoveryImpl* NewL(); + + /** + * Destructor. + */ + virtual ~CFeatureDiscoveryImpl(); + + /** + * Static way to fetch information whether a certain feature is + * supported in the current envinronment. There is no need to create + * an instance of the class when using this method. + * + * @param aFeature is the feature UID of the feature that is queried. + * @return TBool indicating whether the feature is supported (ETrue) + * or not (EFalse). If the feature does not exist, the return value is + * EFalse. + * + * @leave Any One of the Symbian OS system-wide error codes + */ + static TBool IsFeatureSupportedL(TUid aFeature); + + /** + * Dynamic way to fetch information whether a certain feature is + * supported in the current environment. Before calling the method + * an instance of the CFeatureDiscoveryImpl class need to be created by + * using one of the factory methods, NewL() or NewLC(). The created + * instance must be deleted after use. + * + * @param aFeature is the feature UID of the feature that is queried. + * @return TBool indicating whether the feature is supported (ETrue) + * or not (EFalse). If the feature does not exist, the return value is + * EFalse. + */ + TBool IsSupported(TUid aFeature); + + /** + * Static way to fetch information whether set of features are + * supported in the current envinronment. There is no need to create + * an instance of the class when using this method. + * + * @param aFeatures is the wrapper class for feature array queried. + * @leave Any One of the Symbian OS system-wide error codes + */ + static void FeaturesSupportedL( TFeatureSet& aFeatures ); + + /** + * Dynamic way to fetch information whether set of features are + * supported in the current environment. Before calling the method + * an instance of the CFeatureDiscovery class need to be created by + * using one of the factory methods, NewL() or NewLC(). The created + * instance must be deleted after use. + * + * @param aFeatures is the wrapper class for feature array queried. + * @return KErrNone if status query succeeded. + * Otherwise one of the Symbian OS error codes + */ + TInt FeaturesSupported( TFeatureSet& aFeatures ); + + private: + + /** + * C++ default constructor. + */ + CFeatureDiscoveryImpl(); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + private: + + // Feature Manager server client + RFeatureControl iFeatControl; + } ; + + +#endif // FEATDISCOVERYIMPL_H + +// EOF