williamr@4: /* williamr@4: * Copyright (c) 2004-2007 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: A helper class for mapping field types to Versit williamr@4: * or non-Versit types. williamr@4: * williamr@4: */ williamr@4: williamr@4: williamr@4: #ifndef TVPBKFIELDTYPEMAPPING_H williamr@4: #define TVPBKFIELDTYPEMAPPING_H williamr@4: williamr@4: #include williamr@4: #include williamr@4: williamr@4: class MVPbkFieldType; williamr@4: class MVPbkFieldTypeList; williamr@4: williamr@4: /** williamr@4: * A helper class for mapping field types to Versit or non-Versit types. williamr@4: * williamr@4: * Can be used also for finding a field type from a field type list. williamr@4: * @see VPbkFieldType.rh williamr@4: * @lib VPbkEng.lib williamr@4: */ williamr@4: class TVPbkFieldTypeMapping williamr@4: { williamr@4: public: williamr@4: /** williamr@4: * Constructs this object from a VPBK_FIELD_TYPE_MAPPING resource. williamr@4: * williamr@4: * @param aReader A resource reader to VPBK_FIELD_TYPE_MAPPING that williamr@4: * is defined in VPbkFieldType.rh. williamr@4: */ williamr@4: IMPORT_C TVPbkFieldTypeMapping(TResourceReader& aReader); williamr@4: williamr@4: /** williamr@4: * Constructs an empty mapping. williamr@4: */ williamr@4: IMPORT_C TVPbkFieldTypeMapping(); williamr@4: williamr@4: public: // Interface williamr@4: /** williamr@4: * Returns a field type that matches this type mapping or NULL. williamr@4: * williamr@4: * @param aFieldTypeList A field type list that is for searching. williamr@4: * @return A matched field type or NULL. williamr@4: */ williamr@4: IMPORT_C const MVPbkFieldType* FindMatch( williamr@4: const MVPbkFieldTypeList& aFieldTypeList) const; williamr@4: williamr@4: /** williamr@4: * Sets the Versit property of this field type mapping. williamr@4: * williamr@4: * @param aVersitProperty A new Versit property for the mapping. williamr@4: */ williamr@4: IMPORT_C void SetVersitProperty( williamr@4: TVPbkFieldVersitProperty aVersitProperty); williamr@4: williamr@4: /** williamr@4: * Sets the non-Versit type of this field type mapping. williamr@4: * williamr@4: * @param aNonVersitType A new non-Versit type. williamr@4: */ williamr@4: IMPORT_C void SetNonVersitType( williamr@4: TVPbkNonVersitFieldType aNonVersitType); williamr@4: williamr@4: private: // Data williamr@4: ///Own: Versit property williamr@4: TVPbkFieldVersitProperty iVersitProperty; williamr@4: ///Own: non-Versit property williamr@4: TVPbkNonVersitFieldType iNonVersitType; williamr@4: ///Own: Spare for future extension williamr@4: TAny* iSpare; williamr@4: }; williamr@4: williamr@4: #endif // TVPBKFIELDTYPEMAPPING_H williamr@4: williamr@4: //End of file