locationdataharvester/mylocationsdatabasemanager/inc/mylocationsdatabasemanager.h
--- a/locationdataharvester/mylocationsdatabasemanager/inc/mylocationsdatabasemanager.h Tue Aug 31 15:09:25 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,260 +0,0 @@
-/*
-* Copyright (c) 2010 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: Database manager implementation
-*
-*/
-
-#ifndef __MYLOCATIONSDATABASEMANAGER_H__
-#define __MYLOCATIONSDATABASEMANAGER_H__
-
-
-#include <EPos_CPosLandmark.h>
-
-#include <locationservicedefines.h>
-// lookup database
-#include <locationdatalookupdb.h>
-
-
-class CPosLandmarkDatabase;
-class CPosLmCategoryManager;
-
-
-/**
- * CMyLocationsDatabaseManager class.
- * This class handles all the operations related to mylocations landmark database.
- *
- */
-class CMyLocationsDatabaseManager : public CBase
- {
- public:
-
- // Constructors and destructor
-
- /**
- * CMyLocationsDatabaseManager.
- * C++ default constructor.
- */
- IMPORT_C CMyLocationsDatabaseManager();
-
- /**
- * ConstructL.
- * 2nd phase constructor.
- */
- IMPORT_C void ConstructL();
-
- /**
- * ~CMyLocationsDatabaseManager.
- * Virtual Destructor.
- */
- virtual ~CMyLocationsDatabaseManager();
-
- public:
- /**
- * UpdateDatabaseL.
- * Updates the location into the landmark database and lookup table.
- * Based on the entry source type and the entry change type the updation can be
- * addition/modification/deletion.
- *
- * @param[in] aLandmark Landmark object to be updated in the database.
- * @param[in] aUid Uid of the changed source entry.
- * @param[in] aSourceType Source type of the aUid.
- * @param[in] aChangeType Type of change to the entry ( added/modified/deleted )
- */
- IMPORT_C void UpdateDatabaseL( CPosLandmark* aLandmark, const TUint32 aUid,
- const TUint32 aSourceType, const TUint32 aChangeType );
-
- /** Gets the full address from a given landmark object
- *
- * @param[out] aLandmarkAddress comma separated landmark's full address
- * @param[in] aLandmark landmark object whose address needs to be found.
- */
- IMPORT_C void GetLandmarkFullAddress( TBuf<255>& aLandmarkAddress,
- const CPosLandmark* aLandmark );
-
- /** Update the maptile path to mylocation lookup table
- *
- * @param[in] aSourceId Uid of the changed source entry.
- * @param[in] aSourceType Source type of the aSourceId.
- * @param[in] aFilePath Maptile file path.
- */
- IMPORT_C void UpdateMapTilePath( TUint32 aSourceId, TUint32 aSourceType,
- TFileName& aFilePath );
-
- /** Update the maptile path to mylocation lookup table
- *
- * @param[in] aSourceId Uid of the changed source entry.
- * @param[in] aSourceType Source type of the aSourceId.
- * @param[in] aName entry name.
- */
-
- IMPORT_C void UpdateEntryName( TUint32 aSourceId, TUidSourceType aSourceType,
- const TDesC& aName );
-
- /** Compare the address details to lplookupaddres table
- *
- * @param aLandmarks , address formed as landmark object
- * @parama Id , id of entry to be checked in db table
- * @param aAddressType , type of entry.
- * @return , true for match case .
- */
- IMPORT_C TBool CheckIfAddressChanged(const CPosLandmark& aLandmarks,
- const TUint32 aId, const TUidSourceType aAddressType);
-
- /** Compare the address details to lplookupaddres table
- *
- * @param aAddress , one line address .
- * @parama Id , id of entry to be checked in db table
- * @param aAddressType , type of entry.
- * @return , true for match case .
- */
- IMPORT_C TBool CheckIfAddressChanged(const TDesC& aAddress,
- const TUint32 aId, const TUidSourceType aAddressType);
-
-
-#ifdef LOCATION_DATA_HARVESTER_UNIT_TEST
-public:
-#else
-private:
-#endif
-
- /**
- * AddMylocationsCategory.
- * Adds the category to landmarks database.
- * Used to add location picker specific categories.
- * @param[in] aCategoryName defines the category name to be added.
- * @returns The category id.
- */
- TUint32 AddMylocationsCategoryL( const TDesC& aCategoryName );
-
- /**
- * CheckIfDuplicateExistsL.
- * Checks if this landmark is already present in database.
- * If present returns the landmark id, else 0.
- * @param[in] aLandmark A landmark object to be checked for.
- * @returns If no duplicate is found in database returns 0
- * else returns the id of the found landmark.
- */
- TPosLmItemId CheckIfDuplicateExistsL( const CPosLandmark* aLandmark );
-
- /**
- * CompareLandmarks.
- * Compares two landmarks. Only the text fields, landmark name,
- * street, city, state country and postal code are compared.
- * @param[in] aLandmark1 First landmark object to be compared.
- * @param[in] aLandmark2 Second landmark object to be compared.
- * @returns ETrue if the landmarks are same, else returns EFalse.
- */
- TBool CompareLandmarks( const CPosLandmark* alandmark1,
- const CPosLandmark* alandmark2 );
-
- /**
- * HandleEntryAdditionL.
- * Handles the entry addition in lookup table and landmarks db
- * @param[in] aLandmark Landmark object added.
- * @param[in] aUid Uid of the source entry corresponding to aLandmark..
- * @param[in] aSourceType source type of the aUid passed.
- */
- void HandleEntryAdditionL( CPosLandmark* aLandmark, const TUint32 aUid,
- const TUint32 aSourceType );
-
- /**
- * HandleEntryModificationL.
- * Handles the entry modification in lookup table and landmarks db
- * @param[in] aLandmark Landmark object modified.
- * @param[in] aUid Uid of the source entry corresponding to aLandmark..
- * @param[in] aSourceType source type of the aUid passed.
- */
- void HandleEntryModificationL( CPosLandmark* aLandmark, const TUint32 aUid,
- const TUint32 aSourceType );
-
- /**
- * HandleEntryDeletionL.
- * Handles the entry deletion in lookup table and landmarks db
- * @param[in] aUid Uid of the source entry corresponding to aLandmark..
- * @param[in] aSourceType source type of the aUid passed.
- */
- void HandleEntryDeletionL( const TUint32 aUid, const TUint32 aSourceType );
-
- /**
- * HandleLandmarkModificationL.
- * Handles a landmark modification
- * @param[in] aLandmark Landmark object modified.
- * @param[in] aUid Uid of the source entry corresponding to aLandmark..
- */
- void HandleLandmarkModificationL( CPosLandmark* aLandmark, const TUint32 aUid );
- /**
- * CheckAndReadLandmarkL.
- * Checks whether a category is available in database pointed by category manager.
- * @param[in] CPosLandmarkDatabase handle to the database manager
- * @param[in] aLmId Id of the landmark
- * @returns landmark object if found else NULL
- */
- CPosLandmark* CheckAndReadLandmarkL(
- CPosLandmarkDatabase* aDb, const TUint32 aLmId );
- /**
- * FillLookupItemAddressDetails.
- * Fills address details into QLookupItem from CPosLandmark.
- * @param[in] aLandmark a landmark object
- * @param[out] aLookupItem, a lookup item in which the address details are filled
- */
- void FillLookupItemAddressDetails( CPosLandmark* aLandmark, QLookupItem &aLookupItem );
-
- /**
- * UnsetDuplicateNextCalEntry.
- * Finds next calendar lookup entry whose detination id is aLandmarkId
- * and unsets it duplcate flag.
- * @param[in] aCurrentCalUid current calendar entry id.
- * @param[in] aLandmarkId a landmark id.
- */
- void UnsetDuplicateNextCalEntry( quint32 aCurrentCalUid, quint32 aLandmarkId );
-
- /**
- * IsDuplicateCalEntry.
- * Checks if there is a duplicate entry present whose destination id
- * is aLandmarkId
- * @param[in] aLandmarkId a landmark id.
- */
- bool IsDuplicateEntry( quint32 aLandmarkId );
-
- /**
- * CreateLandmarkItemLC.
- * Creates a landmark from a QLookupItem
- * @param[in] aLookupItem a lookup item.
- * @returns CPosLandmark a newly created landmark.
- */
- CPosLandmark* CreateLandmarkItemLC( const QLookupItem &aLookupItem );
-
-#ifdef LOCATION_DATA_HARVESTER_UNIT_TEST
-public:
-#else
-private:
-#endif
- // Handle to the landmark database
- CPosLandmarkDatabase* iLandmarkDb;
-
- // Calendar category to be created for calendar related location entries in landmark database
- TPosLmItemId iLmCalendarCatId;
- // Contacts category to be created for contacts related location entries in landmark database
- TPosLmItemId iLmContactsCatId;
-
- // handle to the location app lookup database.
- LocationDataLookupDb* iLocationAppLookupDb;
-
- // handle to landmarks category manager
- CPosLmCategoryManager* iLandmarksCatManager;
-
- // handle to the file session
- RFs iFsSession;
- };
-#endif // __MYLOCATIONSDATABASEMANAGER_H__