epos_cposlmcategorymanager.h

Go to the documentation of this file.
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 

Copyright © Nokia Corporation 2001-2008
Back to top