williamr@2: /* williamr@2: * Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: CPosLmSearchCriteria class williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef CPOSLMSEARCHCRITERIA_H williamr@2: #define CPOSLMSEARCHCRITERIA_H williamr@2: williamr@2: #include williamr@2: williamr@2: /** williamr@2: * Abstract base class for landmark search criterion classes. williamr@2: * williamr@2: * Criterion classes are used in @ref CPosLandmarkSearch to specify what to williamr@2: * search for. It specifies what criteria the landmark must fulfill to be williamr@2: * considered a search match. williamr@2: * williamr@2: * @lib eposlmsearchlib.lib williamr@2: * @since S60 3.0 williamr@2: */ williamr@2: class CPosLmSearchCriteria : public CBase williamr@2: { williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Specifies the subclass of the criterion object. williamr@2: */ williamr@2: enum TCriteriaType williamr@2: { williamr@2: ECriteriaArea = 0 /**< subclass CPosLmAreaCriteria */, williamr@2: ECriteriaText /**< subclass CPosLmTextCriteria */, williamr@2: ECriteriaComposite /**< subclass CPosLmCompositeCriteria */, williamr@2: ECriteriaCategory /**< subclass CPosLmCategoryCriteria */, williamr@2: ECriteriaFindNearest /**< subclass CPosLmNearestCriteria */, williamr@2: ECriteriaIdList /**< subclass CPosLmIdListCriteria */, williamr@2: williamr@2: ECriteriaCategoryByName = 100 /**< subclass CPosLmCatNameCriteria */ williamr@2: }; williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Destructor. williamr@2: */ williamr@2: virtual ~CPosLmSearchCriteria(); williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Returns the criterion type. williamr@2: * williamr@2: * @returns The criterion type. williamr@2: */ williamr@2: IMPORT_C TCriteriaType CriteriaType() const; williamr@2: williamr@2: protected: williamr@2: williamr@2: // C++ constructor. williamr@2: CPosLmSearchCriteria( TCriteriaType aCriteriaType ); williamr@2: williamr@2: private: williamr@2: williamr@2: // Prohibit copy constructor williamr@2: CPosLmSearchCriteria( const CPosLmSearchCriteria& ); williamr@2: // Prohibit assigment operator williamr@2: CPosLmSearchCriteria& operator= ( const CPosLmSearchCriteria& ); williamr@2: williamr@2: private: williamr@2: williamr@2: TCriteriaType iCriteriaType; williamr@2: williamr@2: }; williamr@2: williamr@2: #endif // CPOSLMSEARCHCRITERIA_H williamr@2: williamr@2: