upnpmediaserver/contentdirectoryservice/src/upnptransferhandler.cpp
changeset 0 7f85d04be362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpmediaserver/contentdirectoryservice/src/upnptransferhandler.cpp	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,170 @@
+/** @file
+* Copyright (c) 2005-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: 
+*
+*/
+
+
+// INCLUDE FILES
+#include "upnptransferhandler.h"
+#include "upnpcontentdirectory.h"
+#include "upnpfiletransfer.h"
+#include "upnptransferdownloader.h"
+#include "upnptransferuploader.h"
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::CUpnpTransferHandler
+// -----------------------------------------------------------------------------
+//
+CUpnpTransferHandler::CUpnpTransferHandler( )
+    {
+
+    }
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::ConstructL()
+    {
+    iDownloader = CUpnpTransferDownloader::NewL( this );
+    iUploader = CUpnpTransferUploader::NewL( this );
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CUpnpTransferHandler* CUpnpTransferHandler::NewL( )
+    {
+    CUpnpTransferHandler* self =
+            new (ELeave) CUpnpTransferHandler( );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler destructor
+// -----------------------------------------------------------------------------
+//
+CUpnpTransferHandler::~CUpnpTransferHandler()
+    {
+    delete iDownloader;
+    delete iUploader;
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::UploadFileL
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::UploadFileL( TInt aKey, const TDesC8& aUri, const TDesC& aTargetPath,
+                                        const TDesC8& aContentType )
+    {
+    if( iUploader )
+        {
+        iUploader->UploadFileL(aUri, aTargetPath, aContentType, aKey);
+        TrackUploadProgress(aKey, ETrue);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::DownloadFileL
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::DownloadFileL(TInt aKey, const TDesC8& aUri,const TDesC& aTargetPath)
+    {
+    if( iDownloader )
+        {
+        iDownloader->DownloadFileL(aUri, aTargetPath, aKey);
+        TrackDownloadProgress(aKey, ETrue);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::CancelUpload
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::CancelUpload( TInt aKey )
+    {
+    if( iUploader )
+        {
+        iUploader->CancelTransfer( aKey);
+        }
+    }
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::CancelDownload
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::CancelDownload( TInt aKey )
+    {
+    if( iDownloader )
+        {
+        iDownloader->CancelTransfer( aKey);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::HandleUploadL
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::TransferCompletedL(  TInt aKey, TInt aResultCode  )
+    {
+    iObserver->TransferCompletedL( aKey, aResultCode );
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::SetObserver
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::SetObserver( MUpnpTransferObserver* aObserver )
+    {
+    iObserver = aObserver;
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::TrackUploadProgress
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::TrackUploadProgress( TInt aKey, TBool aSwitchOn )
+    {
+    if( iUploader)
+        {
+        iUploader->TrackProgess(aKey, aSwitchOn);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::TrackDownloadProgress
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::TrackDownloadProgress( TInt aKey, TBool aSwitchOn )
+    {
+    if( iDownloader)
+        {
+        iDownloader->TrackProgess(aKey, aSwitchOn);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CUpnpTransferHandler::TransferProgress
+// -----------------------------------------------------------------------------
+//
+void CUpnpTransferHandler::TransferProgress( TInt aKey, TInt aBytes, TInt aTotalBytes)
+    {
+    iObserver->TransferProgress(aKey, aBytes, aTotalBytes);
+    }
+
+// End of File