00001 /* 00002 * ============================================================================== 00003 * Name : EPos_CPosLmCompositeCriteria.h 00004 * Part of : Mobile Location Framework/Landmarks 00005 * Interface : SDK/S60, Landmarks Search API 00006 * Description : CPosLmCompositeCriteria class 00007 * Version : %version: bh1cfloc#3 % 00008 * 00009 * Copyright © 2005-2006 Nokia. All rights reserved. 00010 * This material, including documentation and any related computer 00011 * programs, is protected by copyright controlled by Nokia. All 00012 * rights are reserved. Copying, including reproducing, storing, 00013 * adapting or translating, any or all of this material requires the 00014 * prior written consent of Nokia. This material also contains 00015 * confidential information which may not be disclosed to others 00016 * without the prior written consent of Nokia. 00017 * ============================================================================ 00018 * Template version: 4.0 00019 */ 00020 00021 #ifndef CPOSLMCOMPOSITECRITERIA_H 00022 #define CPOSLMCOMPOSITECRITERIA_H 00023 00024 #include <e32base.h> 00025 #include "epos_cposlmsearchcriteria.h" 00026 00047 class CPosLmCompositeCriteria : public CPosLmSearchCriteria 00048 { 00049 public: 00050 00054 enum TCompositionType 00055 { 00056 ECompositionAND = 0 00058 }; 00059 00060 public: 00061 00069 IMPORT_C static CPosLmCompositeCriteria* NewLC( 00070 TCompositionType aType 00071 ); 00072 00076 virtual ~CPosLmCompositeCriteria(); 00077 00078 public: 00079 00085 IMPORT_C TCompositionType CompositionType() const; 00086 00093 IMPORT_C void SetCompositionType( TCompositionType aType ); 00094 00100 IMPORT_C TUint NumOfArguments() const; 00101 00113 IMPORT_C const CPosLmSearchCriteria& Argument( TUint aIndex ) const; 00114 00126 IMPORT_C CPosLmSearchCriteria& Argument( TUint aIndex ); 00127 00149 IMPORT_C TInt AddArgument( CPosLmSearchCriteria* aCriteria ); 00150 00163 IMPORT_C CPosLmSearchCriteria* RemoveArgument( TUint aIndex ); 00164 00172 IMPORT_C void ClearArguments(); 00173 00174 private: 00175 00176 CPosLmCompositeCriteria( TCompositionType aType ); 00177 00178 void ConstructL(); 00179 00180 // Prohibit copy constructor 00181 CPosLmCompositeCriteria( const CPosLmCompositeCriteria& ); 00182 // Prohibit assigment operator 00183 CPosLmCompositeCriteria& operator= ( const CPosLmCompositeCriteria& ); 00184 00185 private: 00186 00187 TCompositionType iCompositionType; 00188 RPointerArray<CPosLmSearchCriteria> iArguments; 00189 00190 }; 00191 00192 // CPOSLMCOMPOSITECRITERIA_H 00193 #endif 00194 00195