00001 /* 00002 * ============================================================================== 00003 * Name : EPos_CPosLandmarkSearch.h 00004 * Part of : Mobile Location Framework/Landmarks 00005 * Interface : SDK/S60, Landmarks Search API 00006 * Description : CPosLandmarkSearch 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 CPOSLANDMARKSEARCH_H 00022 #define CPOSLANDMARKSEARCH_H 00023 00024 #include <e32base.h> 00025 #include <epos_cposlandmarkdatabase.h> 00026 #include <epos_cposlmcategorymanager.h> 00027 #include <epos_cposlmitemiterator.h> 00028 #include <epos_cposlmoperation.h> 00029 #include <epos_tposlmsortpref.h> 00030 00031 class CPosLmSearchCriteria; 00032 class CPosLmDisplayData; 00033 00034 const TInt KPosLmMaxNumOfMatchesUnlimited = -1; 00035 00086 class CPosLandmarkSearch : public CBase 00087 { 00088 public: 00089 00098 IMPORT_C static CPosLandmarkSearch* NewL( 00099 CPosLandmarkDatabase& aDatabase 00100 ); 00101 00105 IMPORT_C virtual ~CPosLandmarkSearch(); 00106 00107 public: 00108 00117 IMPORT_C TInt MaxNumOfMatches() const; 00118 00135 IMPORT_C void SetMaxNumOfMatches( 00136 TInt aMaxNumOfMatches = KPosLmMaxNumOfMatchesUnlimited 00137 ); 00138 00157 virtual CPosLmOperation* StartLandmarkSearchL( 00158 const CPosLmSearchCriteria& aCriteria, 00159 TBool aSearchOnlyPreviousMatches = EFalse 00160 ) = 0; 00161 00186 virtual CPosLmOperation* StartLandmarkSearchL( 00187 const CPosLmSearchCriteria& aCriteria, 00188 const TPosLmSortPref& aSortPref, 00189 TBool aSearchOnlyPreviousMatches = EFalse 00190 ) = 0; 00191 00212 virtual CPosLmOperation* StartCategorySearchL( 00213 const CPosLmSearchCriteria& aCriteria, 00214 CPosLmCategoryManager::TCategorySortPref aSortPref, 00215 TBool aSearchOnlyPreviousMatches = EFalse 00216 ) = 0; 00217 00225 virtual TUint NumOfMatches() const = 0; 00226 00252 virtual CPosLmItemIterator* MatchIteratorL() = 0; 00253 00285 virtual void SetDisplayData( CPosLmDisplayData& aData ) = 0; 00286 00294 virtual void UnsetDisplayData() = 0; 00295 00296 protected: 00297 00298 // C++ constructor. 00299 IMPORT_C CPosLandmarkSearch(); 00300 00301 private: 00302 00303 // Prohibit copy constructor 00304 CPosLandmarkSearch( const CPosLandmarkSearch& ); 00305 // Prohibit assigment operator 00306 CPosLandmarkSearch& operator= ( const CPosLandmarkSearch& ); 00307 00308 private: 00309 00310 TUid iDtorIdKey; 00311 TInt iMaxNumOfMatches; 00312 }; 00313 00314 // CPOSLANDMARKSEARCH_H 00315 #endif 00316 00317