diff -r 000000000000 -r 8466d47a6819 meetingrequest/mrgui/mrlocationplugin/inc/cesmrlocationpluginimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mrgui/mrlocationplugin/inc/cesmrlocationpluginimpl.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,107 @@ +/* +* Copyright (c) 2008-2008 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: Location plugin factory implementation +* +*/ + + +#ifndef CESMRLOCATIONPLUGINIMPL_H +#define CESMRLOCATIONPLUGINIMPL_H + + +#include +// +#include "AknServerApp.h" +// + +#include "cesmrlocationplugin.h" + +class MESMRLocationPluginObserver; +class CMnProvider; +class CMnMapView; +class CPosLandmark; +class CESMRUrlParserPlugin; + +/** + * CESMRLocationPlugin Ecom API implementatation + */ +class CESMRLocationPluginImpl: public CESMRLocationPlugin, + public MAknServerAppExitObserver + { +public: + /** + * Two-phased constructor. + * + * @param aObserver extension for the API + */ + static CESMRLocationPluginImpl* NewL(); + + /** + * C++ Destructor. + */ + virtual ~CESMRLocationPluginImpl(); + +public:// from base CESMRLocationPlugin ecom interface + void SetObserver ( MESMRLocationPluginObserver* aObserver ); + +public:// from base class MESMRLocationPlugin + void SelectFromMapL( const TDesC& aSearchQuery, const TDesC& aLocationUrl ); + void SearchFromMapL( const TDesC& aSearchQuery ); + void ShowOnMapL( const TDesC& aLocationUrl ); + +protected: // from base class CActive + void DoCancel(); + void RunL(); + TInt RunError( TInt aError ); + +protected:// from base class MAknServerAppExitObserver + void HandleServerAppExit( TInt aReason ); + +private: + CESMRLocationPluginImpl(); + void ConstructL(); + void CreateMapViewL(); + void HandleSelectFromMapCompletedL(); + +private: // data + + MESMRLocationPluginObserver* iObserver; + + /** + * Map provider. + * Own. + */ + CMnProvider* iProvider; + + /** + * Map view. + * Own. + */ + CMnMapView* iMapView; + + /** + * UrlparserPlugin + * Own. + */ + CESMRUrlParserPlugin* iUrlParser; + + /** + * RPointerArray for landmarks to perform for example search from maps + * with search string functionality + * Own. + */ + RPointerArray iLandMarks; + }; + +#endif // CESMRLOCATIONPLUGINIMPL_H