pushmtm/Plugins/PushContentHandler/PushMtmFetchOperation.h
changeset 51 48e827313edd
parent 37 481242ead638
child 53 f427d27b98d8
--- a/pushmtm/Plugins/PushContentHandler/PushMtmFetchOperation.h	Tue Feb 02 00:12:41 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,309 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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:  Declaration of CPushMtmFetchOperation.
-*
-*/
-
-
-
-#ifndef PUSHMTMFETCHOPERATION_H
-#define PUSHMTMFETCHOPERATION_H
-
-// INCLUDE FILES
-
-#include <e32std.h>
-#include <e32base.h>
-#include <http.h>
-#include <stringpool.h>
-#include <apmstd.h>
-#include <es_sock.h>
-#include "httpcachemanager.h"
-#include "PushMtmCacheSupply.h"
-
-// FORWARD DECLARATIONS
-
-class CMsvEntry;
-
-// CLASS DECLARATION
-
-/**
-* Asynchronous fetch operation that downloads the service indicated by an SL 
-* pushed service message.
-* 
-* The operation can run in silent mode without requiring any user intervention.
-*/
-class CPushMtmFetchOperation : public CActive, 
-                               public MHTTPTransactionCallback,
-                               public MCacheSupplyCallbacks
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor. Leaves on failure.
-        * @param aRequestedUrl The requested URL.
-        * @param aObserverRequestStatus Observer's status.
-        * @return The constructed operation.
-        */
-        static CPushMtmFetchOperation* NewL
-            (
-                const TDesC& aRequestedUrl, 
-                TRequestStatus& aObserverRequestStatus 
-            );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPushMtmFetchOperation();
-
-    public: // Functions from base classes
-
-        /**
-        * Start or restart the operation.
-        */
-        void StartL();
-
-        RHTTPTransaction* Transaction(){ return &iHttpTrans; }
-        void HandleEventL(THTTPEvent aEvent) { MHFRunL(iHttpTrans, aEvent); }
-
-    protected: // Constructors
-
-        /**
-        * Constructor.
-        * @param aObserverRequestStatus Observer's status.
-        */
-        CPushMtmFetchOperation( TRequestStatus& aObserverRequestStatus );
-
-        /**
-        * Second phase constructor.
-        * @param aRequestedUrl The requested URL.
-        * @return None.
-        */
-        void ConstructL( const TDesC& aRequestedUrl );
-
-    protected: // New functions
-
-        /**
-        * Get the ID of the defauld internet access point set in the Browser 
-        * Preferences that is used for connection creation.
-        * @param aIapId The ID of the access point, if found. The value of 
-        *        this variable is not changed if no default ap can be found.
-        * @return Indicate if default ap could be found.
-        */
-        TBool GetDefaultInetAccessPointL( TUint32& aIapId ) const;
-
-    protected:    // state machine parts
-
-        /**
-        * Initiate connecting.
-        */
-        void InitializeL();
-
-        /**
-        * StartRequestL
-        */
-        void StartRequestL();
-
-        /**
-        * CheckCacheL
-        */
-        void CheckCacheL();
-
-        /**
-        * Initiate connecting.
-        */
-        void RequestL();
-
-        /**
-        * Clean up and notify parent.
-        */
-        void Done();
-
-        /**
-        * Create transaction, set request headers (and body for POST request).
-        */
-        void CreateTransactionL();
-
-        /**
-        * Submit the transaction (make the HTTP request).
-        */
-        void SubmitTransactionL();
-
-        /**
-        * Handle response from server.
-        * @param aResponse Response from server.
-        */
-        void HandleResponseHeadersL( RHTTPResponse aResponse );
-
-        /**
-        * HTTP Version Not Supported. Resubmit transaction using HTTP/1.0.
-        * @return ETrue if transaction was resubmitted, EFalse if not (i.e
-        * we already use HTTP/1.0).
-        */
-        TBool VersionRetryL();
-
-        /**
-        * Append a new chunk of response data to the reponse buffer.
-        * @return KErrNone or KErrNoMemory.
-        */
-        TInt AppendResponse( const TDesC8& aDataChunk );
-
-    protected:    // helpers
-
-        /**
-        * Helper function to set a header.
-        * @param aHeaders Set the header to this header set.
-        * @param aHdrField Header field name.
-        * @param aHdrValue Header value.
-        */
-        void SetHeaderL
-            (
-            RHTTPHeaders aHeaders,
-            HTTP::TStrings aHdrField,
-            const TDesC8& aHdrValue
-            );
-
-        /**
-        * Helper function to set a header.
-        * @param aHeaders Set the header to this header set.
-        * @param aHdrField Header field name.
-        * @param aHdrValue Header value.
-        */
-        void SetHeaderL
-            (
-            RHTTPHeaders aHeaders,
-            HTTP::TStrings aHdrField,
-            HTTP::TStrings aHdrValue
-            );
-
-        /**
-        * Helper function to set a header.
-        * @param aHeaders Set the header to this header set.
-        * @param aHdrField Header field name.
-        * @param aHdrValue Header value.
-        */
-        void SetHeaderL
-            (
-            RHTTPHeaders aHeaders,
-            HTTP::TStrings aHdrField,
-            const RStringF aHdrValue
-            );
-
-        /**
-        * Helper function to get the Content-Type header value.
-        * @param aHeaders HTTP header set.
-        * @return Content-Type header value.
-        */
-        const TDesC8& GetContentTypeL( RHTTPHeaders aHeaders );
-
-        /**
-        * Helper function to get the source URI of a transaction.
-        * @param aTransaction Transaction.
-        * @return Source URI.
-        */
-        const TDesC8& GetSourceUriL( RHTTPTransaction aTransaction );
-
-        /**
-        * Get a shared string from the session stringpool.
-        * @param aId Id of string.
-        * @return Shared string from HTTP string table. No need to close.
-        */
-        inline RStringF StringF( HTTP::TStrings aId );
-
-    protected:    // debug utilities
-
-        /**
-        * In debug build, log headers. In release build, do nothing.
-        * @param aHeaders Headers to log.
-        */
-        void LogHeadersL( RHTTPHeaders aHeaders );
-
-    protected: // Functions from base classes
-
-        /**
-        * Cancel fetching.
-        * @return None.
-        */
-        void DoCancel();
-
-        /**
-        * Start fetching and make an entry into the operation mapper.
-        * @return None.
-        */
-        void RunL();
-
-        /**
-        * Leave handler protocol implementation: it is called when 
-        * RunL leaves.
-        */
-        TInt RunError( TInt aError );
-
-    protected:  // from MHTTPTransactionCallback
-
-        /**
-        * Handle transaction event.
-        * @param aTransaction The transaction that the event has occurred on.
-        * @param aEvent The event that has occurred.
-        */
-        void MHFRunL( RHTTPTransaction aTransaction, 
-                      const THTTPEvent& aEvent );
-
-        /**
-        * Handle errors occured in MHFRunL().
-        * @param aError The leave code that RunL left with.
-        * @param aTransaction The transaction that was being processed.
-        * @param aEvent The Event that was being processed.
-        * @return KErrNone.
-        */
-        TInt MHFRunError( TInt aError, 
-                          RHTTPTransaction aTransaction, 
-                          const THTTPEvent& aEvent );
-
-    protected: // Data
-
-        TRequestStatus& iObserver;  ///< Observer's status.
-        HBufC8* iRequestedUrl;      ///< Request URI or NULL. Owned.
-
-        enum TState         ///< State.
-            {
-            EInit,          ///< Initial state.
-            EStartRequest,  ///< Create HTTP session & request
-            ECheckCache,    ///< Check if content is in cache
-            ERequest,       ///< HTTP request.
-            EDone
-            };
-
-        TState iState;              ///< Current state.
-        TInt iResult;               ///< Resulting error code.
-
-        RSocketServ iSockServ;      ///< Socket Server session handle.
-        RConnection iConn;          ///< Connection handle.
-
-        CHttpCacheManager* iCacheMgr;///< Cache Manager. Owned.
-
-        RHTTPSession iHttpSess;     ///< HTTP session. Owned.
-        RHTTPTransaction iHttpTrans;///< Transaction. Owned.
-
-        HBufC8* iSourceUri;         ///< Source URI. Owned.
-        HBufC8* iBody;              ///< Response body. Owned.
-        TDataType iDataType;        ///< Data type.
-        THttpCacheEntry iCacheEntry;///< Holds the cache entry
-        CPushMtmCacheSupply* iCacheSupply;
-        TBool iCachedResponse;
-    };
-
-#include "PushMtmFetchOperation.inl"
-
-#endif // PUSHMTMFETCHOPERATION_H
-
-// End of file.