diff -r 1fc85118c3ae -r 870918037e16 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 - -#include -// lookup database -#include - - -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__