diff -r c32dc0be5eb4 -r 6b4fc789785b remotestoragefw/webdavaccessplugin/inc/rsfwdavtransaction.h --- a/remotestoragefw/webdavaccessplugin/inc/rsfwdavtransaction.h Mon Jan 18 21:00:57 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,164 +0,0 @@ -/* -* Copyright (c) 2002-2004 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: WebDAV transaction - * -*/ - - -#ifndef CRSFWDAVTRANSACTION_H -#define CRSFWDAVTRANSACTION_H - -// INCLUDES -#include -#include -//#include -//#include -//#include -#include -//#include -#include - -//#include - -#include "rsfwdavdefs.h" -//#include "rsfwremoteaccess.h" -//#include "rsfwdavsession.h" - -// FORWARD DECLARATIONS -class CRsfwDavSession; -class CRsfwDirEnt; -class CRsfwDavFileInfo; - -// CONSTANTS -const TInt KHttpPortNumber = 80; -const TInt KHttpsPortNumber = 443; -_LIT(KHttpScheme, "http"); -_LIT(KHttpsScheme, "https"); -_LIT8(KHttpsScheme8, "https"); - -/** - * WebDAV transaction - * - * @lib davaccess.lib - * @since Series 60 3.1 - */ -class CRsfwDavTransaction: public CBase, - public MHTTPTransactionCallback, - public MHTTPDataSupplier - - { -public: // Constructors and destructor - /** - * Two-phased constructor. - */ - static CRsfwDavTransaction* NewL(CRsfwDavSession* aWebDavSession, - TWebDavOp aWebDavOp, - const TUriC8& aUri, - RStringF aMethod, - TUint aTransactionId); - /** - * Destructor. - */ - virtual ~CRsfwDavTransaction(); - -public: // New functions - void SetBodyData(HBufC8* aRequestBodyBuffer); - void SetBodyFileL(const TDesC& aPath, - TInt aOffset, - TInt* aLength, - TUint aFlags); - void SetPropFindPath(HBufC* aPropFindPath); - void SetPropFindDirEntryArray(RPointerArray& aDirEnts); - void SubmitL(); - void Cancel(); - void SetDavFileInfoL(CRsfwDavFileInfo** aDavFileInfo, const TDesC& aPath); - inline RHTTPTransaction HttpTransaction() {return iHttpTransaction;}; - inline TUint Id() {return iTransactionId;}; - inline TInt Status() {return iStatus;}; - -public: // Functions from base classes - // From MHTTPTransactionCallback - void MHFRunL(RHTTPTransaction aTransaction, - const THTTPEvent& aEvent); - TInt MHFRunError(TInt aError, - RHTTPTransaction aTransaction, - const THTTPEvent& aEvent); - - // From MHTTPDataSupplier - TBool GetNextDataPart(TPtrC8& aDataPart); - void ReleaseData(); - TInt OverallDataSize(); - TInt Reset(); - -private: - void ConstructL(CRsfwDavSession* aWebDavSession, - TWebDavOp aWebDavOp, - const TUriC8& aUri, - RStringF aMethod, - TInt aTransactionId); - void TransactionCompleteL(); - void TransactionError(); - void Cleanup(); - void PropFindResponseBeginL(TInt aDepth); - void LockQueryResponseBegin(); - void ParsePropFindResponseL(const TDesC8& aFragment); - void ParseLockResponseL(const TDesC8& aFragment); - void PropFindResponseEndL(); - void LockResponseEndL(); - -public: // data - TWebDavOp iWebDavOp; - -private: // Data - TUint iTransactionId; - CRsfwDavSession* iWebDavSession; - RHTTPTransaction iHttpTransaction; - TBool iMoreToCome; - RFs iFs; - - // files used with PUT and GET - RFile iBodyFile; - TFileName iBodyFilePath; - TInt iBodyFileOffset; - TUint iBodyFileFlags; - TParse iParsedBodyFilePath; - - // pointer to client's "length" variable - // GET operation will set this based on "content-length" from the server - TInt* iClientsLength; - - HBufC8* iRequestBodyBuffer; - - // PROPFIND parser needs to now where it is prop finding.... - HBufC* iPropFindPath; - // PROPFIND etc: response body is copied to a memory buffer - HBufC8* iResponseBuffer; - // how much body data has been sent to the HTTP stack - TInt iSendDataCount; - // total size of body the data - TInt iOverallDataSize; - TInt iStatus; - TBool iNoContentLength; - TBool iDiscardBody; // there may be body that we discard - - // Used with LOCKs to store files lock token - CRsfwDavFileInfo* iDavFileInfo; - - // Used with PROPFIND to store metadata of all entries in a directory - RPointerArray* iDirEnts; - }; - -#endif // CRSFWDAVTRANSACTION_H - -// End of File