locsrv_plat/map_and_navigation_provider_api/inc/mnservicebase.h
branchRCL_3
changeset 44 2b4ea9893b66
parent 42 02ba3f1733c6
child 45 6b6920c56e2f
--- a/locsrv_plat/map_and_navigation_provider_api/inc/mnservicebase.h	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2005-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:  CMnServiceBase class
-*
-*/
-
-
-#ifndef MN_SERVICEBASE_H
-#define MN_SERVICEBASE_H
-
-#include <AknServerApp.h>
-
-class CPosLandmark;
-
-/** @brief Base class for all Map and Navigation services.
- *
- *  Its only purpose is to provide common base functionality for Map and Navigation
- *  service classes.
- *
- *  There are both synchronous and asynchronous request handlers defined in derived
- *  service base classes. Implementations of handlers shall behave as follows.
- *  <ul>
- *  <li>For Synchronous requests:</li>
- *  <ul>
- *  <li>Exit normally to report successful completion</li>
- *  <li>Leave with error code to report error</li>
- *  </ul>
- *  <li>For Asynchronous requests:</li>
- *  <ul>
- *  <li>Exit normally as soon as possible. Call dedicated Complete method
- *      to report successful completion</li>
- *  <li>Leave with error code to report error found during execution of
- *      Handle method</li>
- *  <li>Call CompleteRequest method with error code to report error
- *      found after execution of Handle method</li>
- *  <li>Call CancelRequest method to report that user has cancelled
- *      execution</li>
- *  </ul>
- *  </ul>
- *
- *  Following error codes shall be used by implementation to report specific cases:
- *  - KErrCancel - If user has cancelled operation.
- *  - KErrArgument - If given argument cannot be used for operation. For example, landmark has
- *          no coordinate or address and cannot be shown on map or address information
- *          is not sufficient for geocoding.
- *  - KErrNotSupported - If service feature is not supported, or cannot be executed with given parameters.
- *          For example, map content not available for specified area etc.
- *
- *  @since 3.1
- *  @lib mnservicelib.lib
- *  @ingroup MnProviderAPI
- */
-class CMnServiceBase : public CAknAppServiceBase
-    {
-    public :
-
-        /** @brief Completes current asynchronous request.
-         *
-         *  Called by implementations to complete client's request. Used
-         *  by service implementations to report errors during execution
-         *  of asynchronous requests. To report successful completion,
-         *  special methods defined by service base classes should be used
-         *  (e.g. @ref CMnMapViewServiceBase::CompleteSelectionRequest)
-         *
-         *  For synchronous requests, handler should
-         *  just leave if error is detected.
-         *
-         *  @param aResult Error code.
-         *
-         *  @panic "MnPanicServer"-KMnPanicAttemptToCompleteNoRequest
-         *      This method called during execution of synchronous request.
-         */
-        IMPORT_C void CompleteRequest( TInt aResult );
-
-    protected :
-        /** C++ constructor */
-        CMnServiceBase();
-        /** Destructor */
-        ~CMnServiceBase();
-
-        /** \internal */
-        void BaseConstructL();
-
-        /** @brief Reports that client cancelled request.
-         *
-         *  Called by framework to report that request was
-         *  cancelled by client application. Service implementations
-         *  must implement this method. It is not needed to call
-         *  @ref CompleteRequest() in this case.
-         */
-        virtual void DoCancel() =0;
-
-    protected: // internal methods
-
-        /** \internal
-         *  Completes client's message
-         */
-        void Complete( const RMessage2& aMsg, TInt aResult );
-
-        /** \internal
-         *  Informs derived implementation (by calling DoCancel())
-         *  that current async request has been cancelled by client and
-         *  completes it with KErrCancel.
-         */
-        void HandleCancelRequestL( const RMessage2& aMsg );
-
-        /** \internal
-        * Copies an 8-bit buffer from the address space of the client and puts
-        * the result in the returned argument.
-        *
-        * @param aMessage the message from the client.
-        * @param aClientBufferParam index of message parameter to read as buffer
-        * @return a copy of the client buffer.
-        */
-        static HBufC8* CopyClientBuffer8LC(
-            const RMessage2& aMessage,
-            const TInt aClientBufferParam );
-
-        /** \internal
-        * Copies a 16-bit buffer from the address space of the client and puts
-        * the result in the returned argument.
-        *
-        * @param aMessage the message from the client.
-        * @param aClientBufferParam index of message parameter to read as buffer
-        * @return a copy of the client buffer.
-        */
-        static HBufC* CopyClientBufferLC(
-            const RMessage2& aMessage,
-            const TInt aClientBufferParam );
-
-        /** \internal
-         *  Unpacks landmark from client's message.
-         *  @param  aMsg client's message
-         *  @param  aParamIndex index of landmark parameter in message
-         *  @return new copy instance of client's landmark
-         */
-        CPosLandmark* UnpackLandmarkLC( const RMessage2& aMsg, TInt aParamIndex );
-
-        /** @internal */
-        TInt CurrentAsyncRequest();
-        /** @internal */
-        TBool IsAsyncRequestActive();
-        /** @internal */
-        void PrepareAsyncRequestL( const RMessage2& aMessage );
-
-    protected:  // from CApaAppServiceBase
-        /** @internal */
-        IMPORT_C void ServiceError( const RMessage2 &aMessage, TInt aError );
-
-    protected:
-        RMessage2   iMessage;
-
-    private:
-        TInt        iCurrentRequest;
-    };
-
-#endif // MN_SERVICEBASE_H
-