diff -r 2580314736af -r 2669f8761a99 xdmprotocols/XcapProtocol/XcapOperations/inc/XcapHttpOperation.h --- a/xdmprotocols/XcapProtocol/XcapOperations/inc/XcapHttpOperation.h Thu Aug 19 10:19:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,264 +0,0 @@ -/* -* Copyright (c) 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: CXcapHttpOperation -* -*/ - - - - -#ifndef __XCAPHTTPOPERATION__ -#define __XCAPHTTPOPERATION__ - -#include -#include "XdmOperation.h" -#include "XcapOperationFactory.h" -#include "XcapHttpRequestTimerCallback.h" - -//The default timout for HTTP requests in seconds -const TInt KDefaultHttpRequestTimeout = 30; - -//Set, if document should be fetched from cache when processing a doc subset -const TInt KFetchMasterFromCache = KXdmOption1; - -//Set, if rules concerning document subsets should be applied when processing responses -const TInt KDocumentSubset = KXdmOption2; - -//Set, if the document an operation targets should not be cached (a directory document, for example) -const TInt KNoCache = KXdmOption3; - -//Set, if EARLY-IMS is in use => add the public ID in X-3GPP-Intended-Identity header -const TInt KUseIntendedIdentity = KXdmOption4; - -//FORWARD DECLARATION -class RXcapCache; -class CXdmDocument; -class CXcapDocument; -class CXdmXmlParser; -class CXcapUriParser; -class CXcapHttpRequest; -class CXdmDocumentNode; -class CXcapDocumentNode; -class CXcapHttpTransport; - -//Override application usage validation -//Must ONLY be used for testing, comment out before release -//#define __OVERRIDE_VALIDATION__ - -//CLASS DECLARATION -NONSHARABLE_CLASS( CXcapHttpOperation ) : public CActive, - public MXdmOperation - - { - public: - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - static void EscapeLC( CXdmDocumentNode& aRootNode ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - static HBufC8* EscapeLC( const TDesC8& aDescriptor ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - static HBufC8* Escape2LC( const TDesC& aDescriptor ); - - public: - - /** - * Destructor. - */ - void ExecuteL( TRequestStatus& aStatus, TUint aOptions ); - - /** - * Destructor. - */ - TInt Result() const; - - /** - * Destructor. - */ - const TXdmCompletionData& CompletionData() const; - - /** - * Destructor. - */ - TBool IsCompleted() const; - - /** - * Set this operation to completed state. - */ - void Destroy(); - - /** - * Set this operation to completed state. - */ - virtual CXdmDocumentNode* TargetNode() const; - - /** - * Destructor. - */ - CXcapHttpRequest* HttpRequest() const; - - /** - * Destructor. - */ - virtual ~CXcapHttpOperation(); - - protected: //Methods - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - CXcapHttpOperation( const CXdmDocument& aTargetDoc, - CXcapDocumentNode* aDocumentSubset, - CXcapOperationFactory& aOperationFactory ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - void BaseConstructL(); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - TPtrC8 Descriptor( HBufC8* aBuffer ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - TInt ReinterpretStatus( const TInt aHttpStatus ) const; - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - CXcapHttpTransport& Transport() const; - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - virtual void OperationCompleteL() = 0; - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - virtual void OperationFailedL() = 0; - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - virtual void ExecuteL() = 0; - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - virtual void ExecuteL( CXcapHttpRequest* aHttpRequest, - CXdmDocumentNode* aDocumentNode ); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - virtual TInt FormatModRequestL( const CXdmDocumentNode* aDocumentNode ); - - private: - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - void RunL(); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - void DoCancel(); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - TBool StartOperationL(); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - void CancelOperation(); - - /** - * Symbian OS default constructor. - * @param TInt Default Access Point ID - * @return CXdmDocOperation* - */ - void HandleTimerEventL(); - - protected: - - TInt iResult; - TInt iCurrentIndex; - TBool iCompleted; - TBool iPartial; - TUint iOptionFlags; - CXdmXmlParser* iXmlParser; - TXdmCompletionData iFailureData; - TXdmCompletionData* iRequestData; - TRequestStatus* iClientStatus; - CXcapUriParser* iUriParser; - CXcapHttpRequest* iActiveRequest; - CXcapDocumentNode* iDocumentSubset; - CXcapDocument& iTargetDoc; - CXcapOperationFactory& iOperationFactory; - RPointerArray iRequestQueue; - - private: //Data - }; - -#endif //__XCAPHTTPOPERATION__ - -// End of File