diff -r 000000000000 -r b16258d2340f applayerprotocols/httptransportfw/Test/T_HttpIntegration/HttpSessionCmds.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerprotocols/httptransportfw/Test/T_HttpIntegration/HttpSessionCmds.h Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,158 @@ +// Copyright (c) 2002-2009 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: +// $Header$ +// The header file introducing the collection of HTTP command classes +// of the Integration Harness framework. +// +// + +#ifndef __HTTPSESSIONCMDS_H__ +#define __HTTPSESSIONCMDS_H__ + +//----------------------------------------------------------------------------- + +#include "MWspEventCallback.h" + +#include "GT0149.h" +#include "TEngine.h" +#include "CCmdFamily.h" +#include "CCmdBase.h" +#include "CObjCatalogue.h" +#include "CTimeoutTimer.h" +#include "CWspEventDispatcher.h" + +//---------------------------------------------------------------------------- +// specifics to this module + + +#include +#include +#include +#include +#include +#include + +class CCmdConnect : public CCmdBase, public MWspEventCallback +{ + friend class CCmdDisconnect; + friend class CCmdTransaction; + +public: + + static CCmdConnect *NewL (TInt, const TDesC& aKeyphrase, const TDesC& aHelpPhrase); + static CCmdConnect *NewLC(TInt, const TDesC& aKeyphrase, const TDesC& aHelpPhrase); + virtual ~CCmdConnect(); + + void DisconnectL(const TInt &aIndex); + void DisconnectL(const TDesC& aLabel); + void Delete(const TInt &aIndex); + void Delete(const TDesC& aLabel); + + +protected: // data types + + enum THTTPReceivedType + { + EHTTPReceived, + EHTTPUnexpected, + EHTTPNotReceived, + EMaxReceivedEventType + }; + +protected: // from CCmdBase + + void ConstructL( TInt aCommandId, const TDesC& aKeyphrase, const TDesC& aHelpPhrase); + CCmdConnect() {}; // ensure a concrete class! + +// void DoneWaitEvents(); + void SetWspProxyPropertiesL(RHTTPSession & aSession, RStringPool &aStrPool) ; + void SetWspCapabilityPropertiesL( RHTTPSession & aSession, RStringPool &aStrPool) ; + +public: // from CCmdBase + TInt ProcessL (const TDesC& aCommand); + +private: + CWspEventDispatcher *iEventDispatcher; + void HandleWspEvent(TRequestStatus aStatus); + // Get command parameters = the remainder after the Keyword Phrase + // in the command string. Leaves (KErrArgument) if cannot recogize + // the command. + TInt ParseCmdArgs( const TDesC& aCommand, TPtrC& aFramework, TPtrC& aConName ); + void ShowSessions(); + void WaitForNextEvent(TInt); + + RHTTPSession *iSession; + + THTTPReceivedType iReceived; + + TInt iMaxEvents; + TInt iEventCount; + TInt iEventRequired; + + TBool iNowaitGiven; // ETrue if command contains NOWAIT option + TBool iNbrGiven; // ETrue if command contains number option + TInt iNbrValue; // value of the number option +}; + +//----------------------------------------------------------------------------- +// Command: The 'Disconnect' command which closes a named session + +class CCmdDisconnect : public CCmdBase +{ +public: + + static CCmdDisconnect *NewL ( TInt, const TDesC& aKeyphrase, const TDesC& aHelpPhrase); + static CCmdDisconnect *NewLC( TInt, const TDesC& aKeyphrase, const TDesC& aHelpPhrase); + virtual ~CCmdDisconnect(); + +private: + CWspEventDispatcher *iEventDispatcher; + enum TReceivedType + { + EReceived, + EUnexpected, + ENotReceived + }; + TReceivedType iReceived; + + TInt iMaxEvents; + TInt iEventCount; + + TBool iNowaitGiven; // ETrue if command contains NOWAIT option + TBool iNbrGiven; // ETrue if command contains number option + TInt iNbrValue; // value of the number option + + +protected: // from CCmdBase + + void ConstructL( TInt aCommandId, const TDesC& aKeyphrase, const TDesC& aHelpPhrase); +// void DoneWaitEvents(); + TInt iEventRequired; + +public: // from CCmdBase + TInt ProcessL ( const TDesC& aCommand ); + +private: + TInt ParseCmdArgs( const TDesC& aCommand, TPtrC& aConName ); + void WaitForNextEvent(TInt); +}; + +//----------------------------------------------------------------------------- + +#endif // __HTTPSESSIONCMDS_H__ + +//----------------------------------------------------------------------------- +// End of File +//----------------------------------------------------------------------------- +