diff -r 8173571d354e -r 1fc85118c3ae mapnavproviderrefapp/inc/mnrpengine.h --- a/mapnavproviderrefapp/inc/mnrpengine.h Thu Aug 19 09:48:36 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ -/* -* Copyright (c) 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: CMnrpEngine class definition -* -*/ - - -#ifndef MNRP_ENGINE_H -#define MNRP_ENGINE_H - -#include -#include - -class CPosLandmark; -class TCoordinate; -class RResourceReader; - -/** Engine class used both by MnRefProvider and MnRefGeocoder - * components. Provides access to POIs database ( resource file, - * some cities ) and geocoding services. - */ -class CMnrpEngine : public CBase - { - public: - - struct TDistanceToPoi - { - TInt iPoiIndex; // index to KnownPlaces - TReal32 iDistance; // distance to Poi of iPoiIndex - }; - - public: - IMPORT_C static CMnrpEngine* NewL(); - IMPORT_C ~CMnrpEngine(); - - /** Gives access to set of POIs */ - IMPORT_C TArray KnownPlacesL(); - - /** Returns coordinate of given address: - * Find a POI, which country or city matches given address - * and returns its coordinates. - * @param aAddress landmark, containing address - * @return landmark, containg coordinates - * @leave KErrNotFound if can't find POI matching given address - */ - IMPORT_C CPosLandmark* AddressToCoordLC( const CPosLandmark& aAddress ); - - /** @overload - * @return landmark, containg coordinates, or NULL - */ - IMPORT_C CPosLandmark* AddressToCoordL( const CPosLandmark& aAddress ); - - /** @overload - * @param aAddress string containing address - * @return landmark, containg coordinates - * @leave KErrNotFound if can't find POI matching given address - */ - IMPORT_C CPosLandmark* AddressToCoordLC( const TDesC& aAddress ); - - /** @overload - * @param aAddress string containing address - * @return landmark, containg coordinates, or NULL - */ - IMPORT_C CPosLandmark* AddressToCoordL( const TDesC& aAddress ); - - /** Returns address for given coordinate: - * Find a closest POI and return its city and country and - * fill street with "%d[m,Km,tKm] from " string, like "5 km to Tampere" - * @param aLocation coordinate - * @return landmark, containg address - * @leave KErrNotFound if can't find any POI - */ - IMPORT_C CPosLandmark* CoordToAddressLC( const TCoordinate& aLocation ); - - /** Finds a resource file in the system. - * It looks on all the drives for the file and folder given as parameter - * @param[in] aFilePathAndName path and name of the file to search for. Drive - * info is ignored - * @param[out] aRscFile full name of found resource file - * @leave KErrNotFound if file is not found. - */ - IMPORT_C void FindResourceFileL( - const TDesC& aFilePathAndName, - TFileName& aRscFile ); - - /** Returns reference to open file session, given at construction */ - IMPORT_C RFs& Fs(); - - /** Calculates distance between two landmarks. - * @param aFrom Source landmark - * @param aTo Destination landmark - * @return Distance, or NaN, if distance cannot be calculated - */ - IMPORT_C TReal32 DistanceBetweenLandmarks( - const CPosLandmark& aFrom, - const CPosLandmark& aTo ); - - /** Finds POIs closest to given reference landmark. - * @param[in] aReference reference landmark - * @param[out] aNeighbourPois List of closest POIs. - * @param[in] aMaxMatches Maximum number of results needed - */ - IMPORT_C void FindClosestPoisL( - const CPosLandmark& aReference, - RArray& aNeighbourPois, - TInt aMaxMatches ); - - /** Finds POIs closest to given location. - * @param[in] aReference reference location - * @param[out] aNeighbourPois List of landmarks of closest POIs. - * @param[in] aMaxMatches Maximum number of results needed - */ - IMPORT_C void BestCoordToAddressMatchesL( - const TCoordinate& aLocation, - RPointerArray& aMatches, - TInt aMaxMatches ); - - protected: - - void ConstructL(); - CMnrpEngine(); - - /** Loads POIs from database ( resource file ) */ - void LoadKnownPlacesL(); - /** Reads array of PLACES resource structures */ - void ReadPlacesResourceL( RResourceReader& aReader ); - - CPosLandmark* CreateCloseLandmarkLC( const CPosLandmark& aReference, TReal32 aDistance ); - - private: - RPointerArray iPlaces; - RFs iFileSession; - }; - -#endif // MNRP_ENGINE_H -