--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrHandler.h Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2004 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:
+* This file contains the definition of the receive handler of Download Mgr Server.
+*
+*/
+
+
+
+#ifndef __DOWNLOADMGR_RECEIVEHANDLER_H__
+#define __DOWNLOADMGR_RECEIVEHANDLER_H__
+
+#include "DownloadMgrClient.h"
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class RHttpDownload;
+class RHttpDownloadMgr;
+class MHttpDownloadMgrObserver;
+
+// CLASS DECLARATION
+
+/**
+* Handles the responses of the asyncron services.
+* It can be created by a RHttpDownloadMgr session or
+* RHttpDownload subsession.
+*
+* @lib -
+* @since Series 60 2.8
+*/
+NONSHARABLE_CLASS( CDownloadMgrHandler ) : public CActive
+ {
+ public:
+
+ /**
+ * C++ default constructor.
+ */
+ CDownloadMgrHandler( MHttpDownloadMgrObserver* aHandler,
+ RHttpDownload* aSubSession );
+
+ /**
+ * C++ default constructor.
+ */
+ CDownloadMgrHandler( RHttpDownloadMgr* aSession );
+
+ /**
+ * Destructor.
+ */
+ ~CDownloadMgrHandler();
+
+ public:
+
+ /**
+ * Starts handle request completion event.
+ * @param -
+ * @return None.
+ */
+ void StartL();
+
+ /**
+ * Handler type
+ *
+ * @lib -
+ * @since Series 60 2.8
+ */
+ enum THandlerType
+ {
+ EHttpDownloadMgr,
+ EHttpDownload
+ };
+
+ private: // New functions
+
+ void AdjustPriority( THttpDownloadEvent& aCurrentDlEvent );
+
+ private: // From CActive
+
+ /**
+ * Handles an active object’s request completion event.
+ * @param -
+ * @return None.
+ */
+ void RunL();
+
+ /**
+ * Implements cancellation of an outstanding request.
+ * @param -
+ * @return None.
+ */
+ void DoCancel();
+
+ private:
+ // Reference the owner
+ RHttpDownload* iDownloadSubSession; ///< NOT Owned.
+ RHttpDownloadMgr* iDownloadSession; ///< NOT Owned.
+ // Points to the observer
+ MHttpDownloadMgrObserver* iHandler; ///< NOT Owned.
+ // Possible event parameters.
+ TPckgBuf<TInt32> iDownloadState;
+ TPckgBuf<TInt32> iProgressState;
+ TPckgBuf<TInt> iHandle; // Contains masked values of 'handle' and 'media index'
+ // Must be unmasked before use.
+ HBufC8* iPackedEventAttribs; ///<Owned Buffer for event attributes
+ TPtr8 iPtr; ///<Client/Server framework needs this pointer to be saved
+ // Indicates that the corresponding download subsession is closed
+ TBool* iClosed;
+ // Indicates the owner of the handler
+ THandlerType iHandlerType;
+ // Storage for the 'previous' download event. Used for priority adjustments.
+ THttpDownloadEvent iPrevDlEvent;
+ };
+
+
+#endif /* __DOWNLOADMGR_RECEIVEHANDLER_H__ */
+