IMPSengine/client/inc/impsaccesscommand.h
author Fionntina Carville <fionntinac@symbian.org>
Mon, 15 Nov 2010 11:27:49 +0000
branchRCL_3
changeset 22 df9aab66f73e
parent 0 094583676ce7
permissions -rw-r--r--
Bug 3539. Update localisation mappings.

/*
* Copyright (c) 2002-2005 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: 
* imps access commander. AO.
*
*/


#ifndef ImpsAccessCommand_H
#define ImpsAccessCommand_H

//  INCLUDES
#include <e32base.h>
#include "impsconst.h"
#include "impsservercommon.h"
#include "impsclientsrv.h"


// FORWARD DECLARATIONS
class RImpsAccessClient2;

// CLASS DECLARATION

/**
*  Active object to control access client request
*/
class CImpsAccessCommand2 :public CActive
    {
    public:  // Constructors and destructor
        
        /**
        * Two-phased constructor.
        * @param aClient a client session
        */
        static CImpsAccessCommand2* NewL( RImpsAccessClient2& aClient );
        
        /**
        * Destructor.
        */
        virtual ~CImpsAccessCommand2();

    public: // New functions
        
        /** 
        * Start the execution. 
        * @param aOpId operation-id
        * @param aType message type
        */
        void StartRunL( 
            TInt                aOpId,
            TImpsServRequest    aType );

        /**
        * Set login parameters.
        * Data is copied.
        * @param aServer SAP URI
        * @param aUser user id
        * @param aPsw password
        * @param aClientId CSP clientId
        * @param aAP CommDb id for access point
        * @param aKey1 future option
        * @param aKey2 future option
        */
        void SetParametersL( 
            const TDesC& aServer,
            const TDesC& aUser,
            const TDesC& aPsw,
            const TDesC& aClientId,
            TUint32 aAP,
            const TDesC* aKey1,
            const TDesC* aKey2 );

       
    protected:  // New functions
        
    protected:  // Functions from base classes
        
    private:

        /**
        * C++ default constructor.
        */
        CImpsAccessCommand2( TInt aPriority, RImpsAccessClient2& aClient );

        // from CActive
        void RunL();
        void DoCancel();

        /**
        * By default constructor is private.
        */
        void ConstructL();

        // By default, prohibit copy constructor
        CImpsAccessCommand2( const CImpsAccessCommand2& );
        // Prohibit assigment operator
        CImpsAccessCommand2& operator= ( const CImpsAccessCommand2& );

    private:    // Data
        RImpsAccessClient2&  iClient;
        TInt                iOpId;
        TImpsServRequest    iType;
        TInt                iState;

        // Local copies of data to enable internally asyncronous request
        HBufC8*             iCookie;        // session cookie
        HBufC8*             iMessageStream; // streaming buffer
        TPtrC8              iMessagePtr;
        TPtrC8              iCookiePtr;

    private:    // Friend classes
        friend class RImpsAccessClient2;

    };

#endif      // ?INCLUDE_H   
            
// End of File