williamr@4: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // Generic parameter set base classes. williamr@4: // XParameterSetBase exists to support interworking with old CSubConParameterSet classes. williamr@4: // XParameterSet has richer functionality so should be used for all new applications of Parameter Sets. williamr@4: // williamr@4: // williamr@4: williamr@4: /** williamr@4: @file williamr@4: @internalTechnology williamr@4: */ williamr@4: williamr@4: #ifndef __ES_PARAMETERSET_H williamr@4: #define __ES_PARAMETERSET_H williamr@4: williamr@4: #include williamr@4: williamr@4: class XParameterSetBase : public Meta::SMetaDataECom williamr@4: { williamr@4: }; williamr@4: williamr@4: williamr@4: const TInt KParameterSetTypeUid = 0x10272F44; williamr@4: williamr@4: class XParameterSet : public XParameterSetBase williamr@4: { williamr@4: public: williamr@4: IMPORT_C virtual ~XParameterSet(); williamr@4: williamr@4: // Updates this parameter set with new information. The interpretation and williamr@4: // importance of new information may depend on type-specific interpretation williamr@4: // of the fields in the object (e.g. a field somehow marked "unknown" in the new williamr@4: // set should not be copied to this set, or some kind of lock on a williamr@4: // field in this set should prevent that field being copied from the williamr@4: // new set). williamr@4: // williamr@4: // This base implementation asserts, so as to force the consideration of this williamr@4: // function for derived types. williamr@4: IMPORT_C virtual void UpdateWithL(const XParameterSet& aRhsBase); williamr@4: IMPORT_C virtual TInt AppendPrintableTo(TDes& aDestination) const; williamr@4: IMPORT_C virtual TInt _extension(TUid aExtensionId, TAny*& aReturnedExtension); williamr@4: williamr@4: protected: williamr@4: // It's necessary to expose the typeid table to child classes so they can refer to it in their attribute tables (so IsTypeOf() works) williamr@4: EXPORT_TYPEID_TABLE williamr@4: }; williamr@4: williamr@4: #endif // __ES_PARAMETERSET_H williamr@4: