diff -r 1fc85118c3ae -r 870918037e16 location_plat/location_data_harvester_api/inc/locationdatalookupdb.h --- a/location_plat/location_data_harvester_api/inc/locationdatalookupdb.h Tue Aug 31 15:09:25 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +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: defines api for lookup database. -* -*/ - - -#ifndef LOCATIONDATA_LOOKUPDB_H -#define LOCATIONDATA_LOOKUPDB_H - -// DLL_EXPORT macro definition -#ifdef BUILD_DLL -#define DLL_EXPORT Q_DECL_EXPORT -#else -#define DLL_EXPORT Q_DECL_IMPORT -#endif - - - -// INCLUDES -#include -#include - -class QSqlDatabase; -class QSqlQuery; - -class QLookupItem -{ - -public: - - enum IconType - { - /** Icon type default */ - EIconTypeDefault, - /** Icon type from gallery */ - EIconTypeGallery, - /** Icon type from flicker */ - EIconTypeFlicker, - /** Icon type from contact thumbnail */ - EIconTypeContactThumbnail, - /** Icon type maptile */ - EIconTypeMapTile - }; - -public: - // unique id of the entry - quint32 mId; - - // flag to identify if the entry is a duplicate - quint32 mIsDuplicate; - - // Uid of the source entry - quint32 mSourceUid; - - // Source type - quint32 mSourceType; - - // Dest uid in the landmarks database - quint32 mDestId; - - // name - QString mName; - - // Street - QString mStreet; - - // Postal code - QString mPostalCode; - - // City - QString mCity; - - // State - QString mState; - - // Country - QString mCountry; - - // latitude - double mLatitude; - - // longitude - double mLongitude; - - // icon type - quint32 mIconType; - - // icon path - QString mIconPath; - - // map tile path - QString mMapTilePath; - - //One line address - QString mSingleLineAddress; -}; - -/** -* Location data lookup database class. -*/ -class DLL_EXPORT LocationDataLookupDb : public QObject -{ - -public: // Constructor - - /** - * Constructor - */ - LocationDataLookupDb( QObject *parent = 0 ); - - /** - * Destructor - */ - ~LocationDataLookupDb(); - - /** - * Opens the lookup database. - */ - bool open(); - - /** - * Closes the lookup database. - */ - void close(); - - /** - * Creates an entry in the lookup table. - * @param[in] aLookupItem The lookup item to be created in the database. - */ - void createEntry( QLookupItem& aLookupItem ); - - /** - * Updates an entry in the lookup table. - * The source id and type is used to find the entry in db - * @param[in] aLookupItem The lookup item to be updated in the database. - */ - void updateEntryBySourceIdAndType( const QLookupItem& aLookupItem ); - - /** - * Updates an entry in the lookup table. - * The source id and type is used to find the entry in db - * @param[in] aLookupItem The lookup item to be updated in the database. - */ - void updateMaptileBySourceIdAndType( quint32 aSourceId, quint32 aSourceType, QString aImagePath ); - - /** - * Updates an entry in the lookup table. - * The id is used to find the entry in db - * @param[in] aLookupItem The lookup item to be updated in the database. - */ - void updateEntryById( const QLookupItem& aLookupItem ); - - /** - * Deletes an entry from the lookup table. - * The source id and type is used to find the entry in db - * @param[in] aLookupItem The lookup item to be deleted from the database. - */ - void deleteEntryBySourceIdAndType( const QLookupItem& aLookupItem ); - - /** - * Finds an entry in the lookup table. - * @param[in/out] aLookupItem The lookup item to be found in the database. The source id and source type - * is passed in the lookup item. If the entry is found, all other fields are updated in the lookup item. - * @return true if found, else false - */ - bool findEntryBySourceIdAndType( QLookupItem& aLookupItem ); - - /** - * Finds an entry in the lookup table. - * @param[in/out] aLookupItem The lookup item to be found in the database. The id is passed - * in the lookup item. If the entry is found, all other fields are updated in the lookup item. - * @return true if found, else false - */ - bool findEntryById( QLookupItem& aLookupItem ); - - /** - * Finds list of lookup items given a landmark id. - * @param[in] aLandmarkId The landmark id to be found in the lookup database. - * @param[out] aLookupItemArray List of lookup entries found. - */ - void findEntriesByLandmarkId( const quint32 aLandmarkId, - QList& aLookupItemArray ); - - /** - * Gets list of lookup items. - * @param[in] aCollectionId The collection id, whose whose corresponding entries needs to be fetched. - * By default all the entries in the lookup db are fetched. - * @param[out] aLookupItemArray List of lookup entries found. - */ - void getEntries( QList& aLookupItemArray, const quint32 aCollectionId = ESourceInvalid ); - - /** - * Gets count of lookup items. - * @param[in/out] aCount The number of items in lookup table for the collection id - * @param[in] aCollectionId The collection id, whose whose corresponding entries needs to be fetched. - * By default all the entries in the lookup db are fetched. - */ - void getCount( QList& aCount,const quint32 aCollectionId = ESourceInvalid ); - - /** - * Gets single line address - * @param mId , id of the entry - * @param mSourceType , type of entry - * @return QString , address associated with cuurent id and type - */ - QString getAddressDetails( quint32 mId , quint32 mSourceType ); - - /** - * Gets single line address - * @param id , id of the entry - * @param sourceType , type of entry - * @param name , name of entry - */ - void updateEntryNameByIdAndType(quint32 id, quint32 sourceType , QString name); - -private: - - // fills the lookup entry - void fillLookupEntry( QSqlQuery &aRecord, QLookupItem &aLookupItem ); - - // Handle to the items database - QSqlDatabase *mDb; - - // Flag to indicate if db is open - bool mDbOpen; -}; -#endif // LOCATIONDATA_LOOKUPDB_H - -// End of file - - -