00001 /* 00002 * ============================================================================== 00003 * Name : EPos_CPosLmCategoryManager.h 00004 * Part of : Mobile Location Framework/Landmarks 00005 * Interface : SDK/S60, Landmarks API 00006 * Description : CPosLmCategoryManager class 00007 * Version : %version: 6 % 00008 * 00009 * Copyright © 2005-2007 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 CPOSLMCATEGORYMANAGER_H 00022 #define CPOSLMCATEGORYMANAGER_H 00023 00024 #include <e32base.h> 00025 #include "epos_cposlandmarkdatabase.h" 00026 #include "epos_cposlandmarkcategory.h" 00027 #include "epos_cposlmitemiterator.h" 00028 #include "epos_cposlmoperation.h" 00029 00047 class CPosLmCategoryManager : public CBase 00048 { 00049 public: 00050 00054 enum TCategorySortPref 00055 { 00056 ECategorySortOrderNone = 0 , 00058 ECategorySortOrderNameAscending , 00060 ECategorySortOrderNameDescending 00062 }; 00063 00064 public: 00065 00074 IMPORT_C static CPosLmCategoryManager* NewL( 00075 CPosLandmarkDatabase& aLandmarkDatabase 00076 ); 00077 00081 IMPORT_C virtual ~CPosLmCategoryManager(); 00082 00083 public: 00084 00101 virtual CPosLandmarkCategory* ReadCategoryLC( TPosLmItemId aCategoryId ) = 0; 00102 00125 virtual CPosLmItemIterator* CategoryIteratorL( 00126 TCategorySortPref aSortPref = ECategorySortOrderNone 00127 ) = 0; 00128 00154 virtual CPosLmItemIterator* ReferencedCategoryIteratorL( 00155 TCategorySortPref aSortPref = ECategorySortOrderNone 00156 ) = 0; 00157 00181 virtual TPosLmItemId AddCategoryL( 00182 CPosLandmarkCategory& aCategory 00183 ) = 0; 00184 00205 virtual void UpdateCategoryL( 00206 const CPosLandmarkCategory& aCategory 00207 ) = 0; 00208 00242 virtual CPosLmOperation* RemoveCategoryL( TPosLmItemId aCategoryId ) = 0; 00243 00282 virtual CPosLmOperation* RemoveCategoriesL( 00283 const RArray<TPosLmItemId>& aCategoryIdArray 00284 ) = 0; 00285 00327 virtual CPosLmOperation* AddCategoryToLandmarksL( 00328 TPosLmItemId aCategoryId, 00329 RArray<TPosLmItemId>& aLandmarkIdArray 00330 ) = 0; 00331 00369 virtual CPosLmOperation* RemoveCategoryFromLandmarksL( 00370 TPosLmItemId aCategoryId, 00371 RArray<TPosLmItemId>& aLandmarkIdArray 00372 ) = 0; 00373 00392 virtual TPosLmItemId GetCategoryL( 00393 const TDesC& aCategoryName 00394 ) = 0; 00395 00409 virtual TPosLmItemId GetGlobalCategoryL( 00410 TPosLmGlobalCategory aGlobalCategory 00411 ) = 0; 00412 00424 virtual HBufC* GlobalCategoryNameL( 00425 TPosLmGlobalCategory aGlobalCategory 00426 ) = 0; 00427 00458 virtual CPosLmOperation* ResetGlobalCategoriesL() = 0; 00459 00460 protected: 00461 00462 // C++ constructor. 00463 IMPORT_C CPosLmCategoryManager(); 00464 00465 private: 00466 00467 // Prohibit copy constructor 00468 CPosLmCategoryManager( const CPosLmCategoryManager& ); 00469 // Prohibit assigment operator 00470 CPosLmCategoryManager& operator= ( const CPosLmCategoryManager& ); 00471 00472 private: 00473 00474 // Implementation UID 00475 TUid iDtorIdKey; 00476 00477 }; 00478 00479 // CPOSLMCATEGORYMANAGER_H 00480 #endif 00481 00482