upnpmediaserver/contentdirectoryservice/src/upnptransferhandler.cpp
author Sampo Huttunen <sampo.huttunen@nokia.com>
Wed, 24 Nov 2010 09:39:46 +0200
branchIOP_Improvements
changeset 45 a6c41ca11adf
parent 0 7f85d04be362
permissions -rw-r--r--
Updated the SIS package, there was some BC issue with the earlier version. Also updated the platform UID to S^3 version.

/** @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