--- a/landmarksui/engine/inc/CLmkDbUtils.h Thu Aug 19 09:48:36 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: LandmarksUi Content File - This class provides utility methods for performing
-* landmark database related operations like adding, deleting
-* or updating a landmark and category etc.
-*
-*/
-
-
-
-
-
-
-
-#ifndef CLMKDBUTILS_H
-#define CLMKDBUTILS_H
-
-// INCLUDES
-#include <lbsfields.h>
-#include <EPos_Landmarks.h>
-#include "landmarks.hrh"
-#include "MLmkAOOperationObserver.h"
-
-// FORWARD DECLARATIONS
-class CPosLandmarkCategory;
-class CPosLandmarkDatabase;
-class CPosLmCategoryManager;
-class CPosLmOperation;
-class CPosLandmark;
-
-// CLASS DECLARATION
-/**
-* This class provides utility methods for performing operations related to
-* landmark database.
-*
-* Typical operations can be adding, deleting or updating landmark
-* and creating a new category or renaming a category etc.
-*
-* All the methods of this class except InitializeDbL() assume that the database
-* is opened and initialized.
-*/
-
-class CLmkDbUtils : public CBase, public MLmkAOOperationObserver
- {
- public: // Constructors and destructor
- /**
- * Create CLmkDbUtils object
- * @param aDb -- landmark database which needs to be accessed via this class
- * @param aObserver -- calling class or object as observer for this class
- * @aProgressNote - Note showing the progress of landmark database related
- * operations
- * @return newly instantiated object
- */
- IMPORT_C static CLmkDbUtils* NewL( CPosLandmarkDatabase& aDb,
- MLmkAOOperationObserver& aObserver,
- TBool aProgressNote );
-
- /**
- * Destructor.
- */
- ~CLmkDbUtils();
-
- private: // Constructors and destructor
- /**
- * C++ default constructor.
- * @param aDb -- landmark database
- * @param aObserver -- calling class passing itself as observer of this class
- * @param aProgressNote -- Note showing the progress of landmark database operations
- * @return newly instantiated object
- */
- CLmkDbUtils( CPosLandmarkDatabase& aDb,
- MLmkAOOperationObserver& aObserver,
- TBool aProgressNote );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- protected: //from MLmkAOOperationObserver
- void HandleOperationL( TOperationTypes aType,
- TReal32 aProgress,
- TInt aStatus );
-
- public: // New functions
-
- /**
- * Initializes landmark database.
- * This operation is asynchronous
- */
- IMPORT_C void InitializeDbL();
-
- /**
- * Compacts landmark database
- * This operation is asynchronous
- */
- IMPORT_C void CompactDbL();
-
- /**
- * Adds a new category to landmark database
- * This call is a synchronous one
- *
- * @param aCategory -- category which needs to be added to database
- * @param aDb -- landmark database to which category needs to be added
- */
- IMPORT_C static void AddCategoryL( CPosLandmarkCategory& aCategory,
- CPosLandmarkDatabase& aDb );
-
- /**
- * Rename category
- * This call is synchronous
- * @param aCategoryName -- name of the category which needs to be renamed
- * @param aId -- Unique identfier of the category in the database
- * @param aDb -- handle to landmark database
- */
- IMPORT_C static void RenameCategoryL( TDesC& aCategoryName,
- TPosLmItemId aId,
- CPosLandmarkDatabase& aDb );
-
- /**
- * Get category name given category and this call is synchronous
- * @param aDb Handle to landmark database
- * @param aCategoryId Identifier of the category in database whose
- * @return aCategoryName
- */
- IMPORT_C static HBufC* CategoryNameL(
- CPosLandmarkDatabase& aDb,
- TPosLmItemId aCategoryId );
-
- /**
- * Change the icon of category or landmark
- * This call is synchronous
- * @param aDb handle to landmark database
- * @param aId Identifier of the landmark or category whose icon needs to be changed
- * @param aItemType type of database item (landmark or category)
- * @param aMbmFileName Icon file name
- * @param aIconIndex Index of the icon in the icon file
- * @param aMaskIndex Index of icon mask in the icon file
- */
- IMPORT_C static void ChangeIconL( CPosLandmarkDatabase& aDb,
- const TPosLmItemId aId,
- TLmkItemType aItemType,
- const TDesC& aMbmFileName,
- TInt aIconIndex, TInt aMaskIndex);
-
- /**
- * Change multiple item's icon
- * This is a asynchronous call
- * @param aIdArray Array of landmark database items whose icon needs to be changed
- * @param aItemsType Landmark or category
- * @param aMbmFileName name of icon file
- * @param aIconIndex Index of the icon inside the icon file
- * @param aMaskIndex Index of icon mask inside the icon file
- */
- IMPORT_C void ChangeIconsL(
- const RArray<TPosLmItemId>& aIdArray,
- TLmkItemType aItemsType,
- const TDesC& aMbmFileName,
- TInt aIconIndex, TInt aMaskIndex);
-
- /**
- * Delete categories from landmark database
- * This is asynchronous method
- * @param aCategoryIdArray Array containing categories to be deleted
- */
- IMPORT_C void DeleteCategoriesL(
- const RArray<TPosLmItemId>& aCategoryIdArray );
-
- /**
- * Delete a single landmark from database
- * This is a synchronous method
- * @param aId Identifier of landmark to be deleted
- * @param aDb Handle to landmark database
- */
- IMPORT_C static void DeleteLandmarkL( TPosLmItemId aId,
- CPosLandmarkDatabase& aDb );
-
- /**
- * Delete a set of selected landmarks from landmark database
- * This is an Asynchronous method
- * @param aLandmarkIdArray Array containing the landmarks to be deleted
- */
- IMPORT_C void DeleteLandmarksL(
- const RArray<TPosLmItemId>& aLandmarkIdArray );
-
- /**
- * Adds a landmark to a category
- * This is synchronous
- * @param aLandmarkId Identifier of landmark
- * @param aCategoryId Identifier of category
- * @param aDb
- */
- IMPORT_C static void AddLmToCategoryL( TPosLmItemId aLandmarkId,
- TPosLmItemId aCategoryId,
- CPosLandmarkDatabase& aDb );
-
- /**
- * Adds a single landmark to a set of selected categories
- * This is asynchronous call
- * @param aLandmarkId Unique identifier of landmark which need to be added to set of categories
- * @param aCategoryIdArray Array containing categories
- */
- IMPORT_C void AddLmToCategoriesL(
- TPosLmItemId aLandmarkId,
- const RArray<TPosLmItemId>& aCategoryIdArray );
-
- /**
- * Adds multiple landmarks to one or more categories
- * This is an asynchronous call
- * @param aLandmarkIdArray Array of landmarks which need to be added to given categries
- * @param aCategoryIdArray Array of categories
- */
- IMPORT_C void AddLmsToCategoriesL(
- const RArray<TPosLmItemId>& aLandmarkIdArray,
- const RArray<TPosLmItemId>& aCategoryIdArray );
-
- /**
- * Cancel landmark database related operation
- * This cancels the Active Object created for landmark database related operation
- */
- IMPORT_C void CancelLmOperation();
-
- /**
- * It returns the category id,if given name
- */
- IMPORT_C TPosLmItemId CategoryIdL(CPosLandmarkDatabase& aDb, const TDesC& aCategoryName );
-
- /**
- * Checks if this field exists in the landmark.
- */
- IMPORT_C TBool IsLmWithThisFieldExistL( TPositionFieldId aFieldId);
-
- /**
- * Checks, if the url value is >150 , it trims the protocol
- * since it assumes,that the protocol is appended by the sender
- * @param landmark The landmark, from which the url field value
- * to be trimmed.
- */
- IMPORT_C static void RemoveDefaultProtocolL(TPtr& aWebUrl);
- /*
- * This function, appends the default protocol, if it is missing
- * from the url.
- */
- IMPORT_C static void AddDefaultProtocolL(CPosLandmark* landmark);
-
- private: // New functions
- /**
- * This call checks if an Active Object is already running or not
- * Leaves if an Active Object is already running
- */
- void LeaveIfInUseL();
-
- /**
- * Helper method. It pushes the aOperation to the cleanup
- * stack as the first step, so caller does not have to do it.
- * @param aOperation, ownership is transferred
- * @param aOpType
- */
- void SetupAndStartOperationL(
- CPosLmOperation* aOperation,
- MLmkAOOperationObserver::TOperationTypes aOpType );
-
-
- private: // Data
- ///Ref:
- CPosLandmarkDatabase& iDb;
-
- ///Ref:
- MLmkAOOperationObserver* iObserver;
-
- TBool iProgressNote;
-
- ///Own:
- CLmkAOOperation* iAOOperation;
-
- ///Own:
- CPosLmCategoryManager* iCategoryMgr;
- };
-
-#endif // CLMKDBUTILS_H
-
-// End of File