mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/DownloadGateway.h
--- a/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/DownloadGateway.h Thu Aug 19 10:26:11 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
-* Copyright (c) 2006 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 of DownloadGateway class.
-*
-*/
-
-
-#ifndef DOWNLOADGATEWAY_H
-#define DOWNLOADGATEWAY_H
-
-#include <e32base.h>
-#include <downloadmgrclientapiext.h>
-#include <ProgDLSource.h>
-
-namespace multimedia
- {
-
- /**
- * Observer that sends browser events to the Client
- * @lib EnhancedMediaClient.lib
- * @since S60 v3.2
- */
- class MDownloadGatewayObserver
- {
- public:
- virtual void Event(MProgDLSource::TDownloadStatus aStatus) = 0;
- virtual void MoveFileComplete(TInt aError) = 0;
- };
-
- /**
- * Implements the Gateway from which the Clients talk to the DownloadMgr.
- * Provides functionality to the Clients to query attributes
- * from the Browser
- * @lib EnhancedMediaClient.lib
- * @since S60 v3.2
- */
- class CDownloadGateway : public MHttpDownloadMgrObserver
- {
- public:
- /**
- * Function to Create the Object.
- */
- CDownloadGateway();
- /**
- * Destructor.
- */
- ~CDownloadGateway();
-
- /**
- * Initialize the Gateway with the Client UID.
- * Here it connect to the DownloadMgr Server.
- * @since S60 v3.2
- * @param aClientUid Client which wants to connect.
- */
- TInt Initialize(TUid aClientUid);
- /**
- * Calls Move on the DownloadMgr for the TransactionID
- * @since S60 v3.2
- * @param aId TransactionID for which the File has to be moved.
- * @param aDestFileName Full Pathname where the file needs to be moved.
- */
- TInt MoveFile( TInt aId, const TDesC& aDestFileName );
- /**
- * Called by the Client which wants to Connect to the Download
- * @since S60 v3.2
- * @param aId TransactionID for which the File has to be moved.
- * @param aObserver Observer where the Client wants the Callbacks
- * @param aAppUid UID for the App which Connects.
- */
- TInt ConnectToDownload(TInt aId, MDownloadGatewayObserver& aObserver, TUid aAppUid);
- /**
- * Disconnect from the Download
- * Here it connect to the DownloadMgr Server.
- * @since S60 v3.2
- * @param aId DownloadID from which the Client wants to Disconnect.
- */
- TInt DisconnectFromDownload(TInt aId);
- /**
- * Gets the Current Downloaded Size of the Download
- * @since S60 v3.2
- * @param aId TransactionID of the Download which the FileSize is queried.
- * @param aSize Size of the Download returned
- */
- TInt GetCurrentSize( TInt aId, TUint& aSize );
- /**
- * Total Size of the File which is being downloaded
- * Here it connect to the DownloadMgr Server.
- * @since S60 v3.2
- * @param aId TransactionID of the Download which the FileSize is queried.
- * @param aSize Total Size of the File being Downloaded returned
- */
- TInt GetDownloadSize( TInt aId, TUint& aSize );
- /**
- * Gets the Download Status for a particular Download
- * @since S60 v3.2
- * @param aId TransactionID of the Download which the FileSize is queried.
- * @param aStatus Download Status for the Download
- */
- TInt GetDownloadStatus(TInt aTxId, MProgDLSource::TDownloadStatus& aStatus);
- /**
- * Cancelling a Particular Download
- * @since S60 v3.2
- * @param aId TransactionID of the Download to be deleted
- */
- TInt DeleteDownload(TInt aId);
- /**
- * Resuming a Paused Download
- * @since S60 v3.2
- * @param aId TransactionID of the Download to be Resumed
- */
- TInt ResumeDownload(TInt aId);
- /**
- * Queries the MimeType of the File from the DownloadMgr
- * @since S60 v3.2
- * @param aId TransactionID of the Download to be queried
- * @param aMimeType MimeType returned from the Browser.
- */
- TInt GetMimeType(TInt aId, TDes8& aMimeType);
- /**
- * Tells the Browser if the Download is being Progressively Played
- * @since S60 v3.2
- * @param aId TransactionID of the Dowload to be Resumed
- * @param aMode Whether the Mode is True or False.
- */
- TInt SetProgressiveMode(TInt aId, TBool aMode);
- /**
- * Before Calling Move we need to Call this to set the Local FileName
- * @since S60 v3.2
- * @param aId TransactionID of the Dowload for setting the FileName
- * @param aFileName Name to be Set
- */
- TInt SetLocalFileName( TInt aId, TDesC& aFileName );
- /**
- * Gets the Local FileName from the DownloadMgr
- * @since S60 v3.2
- * @param aId TransactionID of the Dowload to be Resumed
- * @param aFileName Gets the FileName from the DownloadMgr
- */
- TInt GetLocalFileName(TInt aId, TDes& aFileName );
- // From MhttpDownloadMgrObserver
- /**
- * From MhttpDownloadMgrObserver.
- * Callback from the DownloadManager notifying Client Events.
- * @since S60 v3.2
- * @param aDownload Download for which the Event is meant
- * @param aEvent Actual Event
- */
- void HandleDMgrEventL( RHttpDownload& aDownload, THttpDownloadEvent aEvent );
- // MhttpDownloadMgrObserver Ends
-
- private:
- // The Observer where we need to forward the Browser events
- MDownloadGatewayObserver* iObserver;
- // Download Manager instance to which we connect
- RHttpDownloadMgrApiExt iDownloadMgr;
- // Download for which we connect
- RHttpDownload* iDownload;
- // Status if we are connected
- TBool iDMgrConnected;
- // Previous DLMgr Event
- THttpDownloadEvent iPrevEvent;
- // Current Download ID
- TInt iDownloadId;
- // Current Download Status
- MProgDLSource::TDownloadStatus iDownloadStatus;
- };
- } // namespace multimedia
-
-#endif // DOWNLOADGATEWAY_H
-
-// End of file