--- a/homesync/contentmanager/cmserver/cmstoremanager/src/cmsmtransferengine.cpp Mon Nov 01 13:44:24 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,753 +0,0 @@
-/*
-* Copyright (c) 2008 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: AV Controller UPnP actions handler
-* Version : %version: tr1ido#1.1.10 % << Don't touch!
-*
-*/
-
-#include <utf.h>
-#include "upnpavdevice.h"
-#include "upnpavcontroller.h"
-#include "upnpfileuploadsession.h"
-
-#include "cmsmtransferobserver.h"
-#include "cmdmmain.h"
-#include "cmstorelistitem.h"
-#include "cmsqlmainfactory.h"
-#include "mcmsqlmain.h"
-#include "cmsmtransferengine.h"
-#include "msdebug.h"
-
-// CONSTANTS
-const TInt KGranularity = 10;
-//If once total size bigger than 30MB may cause timeout when uploading
-const TInt KCopySizePerTime = 30 * KMega;
-//If once total count more than 20 files may cause timeout when uploading
-const TInt KCopyCountPerTime = 20;
-
-#ifdef _DEBUG
-_LIT( KCmStoreManager, "CmStoreManager" );
-#endif // _DEBUG
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::NewL
-// ---------------------------------------------------------------------------
-//
-CCmSmTransferEngine* CCmSmTransferEngine::NewL(
- MCmSmTransferObserver* aObserver, CCmDmMain* aDBMngr,
- RPointerArray<CCmStoreListItem>& aItems, RArray<TInt>& aItemIds )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::NewL() start"));
- CCmSmTransferEngine* self = CCmSmTransferEngine::NewLC( aObserver,
- aDBMngr, aItems, aItemIds );
- CleanupStack::Pop( self );
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::NewL() end"));
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::NewLC
-// ---------------------------------------------------------------------------
-//
-CCmSmTransferEngine* CCmSmTransferEngine::NewLC(
- MCmSmTransferObserver* aObserver, CCmDmMain* aDBMngr,
- RPointerArray<CCmStoreListItem>& aItems, RArray<TInt>& aItemIds )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::NewLC() start"));
- CCmSmTransferEngine* self = new ( ELeave ) CCmSmTransferEngine( aObserver,
- aDBMngr, aItems, aItemIds );
- CleanupStack::PushL( self );
- self->ConstructL();
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::NewLC() end"));
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::~CCmSmTransferEngine
-// ---------------------------------------------------------------------------
-//
-CCmSmTransferEngine::~CCmSmTransferEngine()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::~CCmSmTransferEngine()"));
- CancelCopy();
- if( iFilesToBeRemoved )
- {
- iFilesToBeRemoved->Reset();
- delete iFilesToBeRemoved;
- }
- if( iFilesToBeShrinked )
- {
- iFilesToBeShrinked->Reset();
- delete iFilesToBeShrinked;
- }
- iToBeDeleted.Close();
- iObserver = NULL;
- iDBManager = NULL;
- iDbWrapper->Close();
- iFSession.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::CCmSmTransferEngine
-// ---------------------------------------------------------------------------
-//
-CCmSmTransferEngine::CCmSmTransferEngine( MCmSmTransferObserver* aObserver,
- CCmDmMain* aDBMngr, RPointerArray<CCmStoreListItem>& aItems,
- RArray<TInt>& aItemIds )
- : iObserver( aObserver ), iDBManager( aDBMngr ), iDevice( NULL ),
- iItems( aItems ), iItemIds(aItemIds)
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::CCmSmTransferEngine"));
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::ConstructL()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::ConstructL"));
-
- User::LeaveIfError( iFSession.Connect() );
- iFilesToBeRemoved = new ( ELeave ) CDesCArrayFlat( KGranularity );
- iFilesToBeShrinked = new ( ELeave ) CDesCArrayFlat( KGranularity );
- iDbWrapper = CCmSqlMainFactory::NewCmSqlMainL( iFSession );
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::SetAvController
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::SetAvController( MUPnPAVController* aAVController )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::SetAvController"));
-
- iAVController = aAVController;
- iUploadSession = NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::GetMediaServersL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::GetMediaServersL(
- CUpnpAVDeviceList*& aDevices )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::GetMediaServersL()"));
-
- aDevices = iAVController->GetMediaServersL();
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::ResetFileArrays
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::ResetFileArrays()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::ResetFileArrays"));
-
- if( iFilesToBeRemoved )
- {
- iFilesToBeRemoved->Reset();
- }
- if( iFilesToBeShrinked )
- {
- iFilesToBeShrinked->Reset();
- }
- iToBeDeleted.Reset();
- iToBeDeleted.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::CancelCopy
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::CancelCopy()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::CancelCopy()"));
-
- if ( iAVController )
- {
- iAVController->StopUploadSession( *iUploadSession );
- iUploadSession = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::CopyFilesL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::CopyFilesL( TUint8 aDevId,
- CUpnpAVDevice* aDevice )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::CopyFilesL"));
-
- if( iAVController )
- {
- iAVController->StopUploadSession( *iUploadSession );
- iUploadSession = NULL;
- }
- iDevId = aDevId;
- iIndex = iItemIds.Count() - 1;
- iDevice = aDevice;
- ResetFileArrays();
- iTransferredData = KErrNone;
- iTotalTransferredData = KErrNone;
-
- if( aDevice )
- {
- ConnectedToDeviceL( *aDevice );
- CopySingleFileL();
- }
- else
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::CopyFilesL \
- aDevice == NULL"));
- FinishCopy();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::DataAmount
-// ---------------------------------------------------------------------------
-//
-TInt CCmSmTransferEngine::DataAmount() const
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::DataAmount"));
-
- return iTotalTransferredData;
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::FilesToBeRemoved
-// ---------------------------------------------------------------------------
-//
-CDesCArray& CCmSmTransferEngine::FilesToBeRemoved()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::FilesToBeRemoved"));
-
- /** Files to be removed */
- return *iFilesToBeRemoved;
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::DeleteToBeRemoved
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::DeleteToBeRemoved()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::DeleteToBeRemoved"));
-
- iFilesToBeRemoved->Reset();
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::FilesToBeShrinked
-// ---------------------------------------------------------------------------
-//
-CDesCArray& CCmSmTransferEngine::FilesToBeShrinked()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::FilesToBeShrinked"));
-
- /** Files to be shrinked */
- return *iFilesToBeShrinked;
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::DeleteToBeShrinked
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::DeleteToBeShrinked()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::DeleteToBeShrinked"));
-
- iFilesToBeShrinked->Reset();
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::ToBeDeleted
-// ---------------------------------------------------------------------------
-//
-RArray<TInt>& CCmSmTransferEngine::ToBeDeleted()
- {
- TRACE(Print(_L("[STORE MNGR] CCmSmTransferEngine::DeleteToBeShrinked \
- To be deleted count = %d"),
- iToBeDeleted.Count() ));
- return iToBeDeleted;
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::TransferStarted
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-void CCmSmTransferEngine::TransferStarted( TInt aKey, TInt aStatus )
- {
-#else
-void CCmSmTransferEngine::TransferStarted( TInt /*aKey*/, TInt /*aStatus*/ )
- {
-#endif
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::TransferStarted()"));
- TRACE(Print( _L("[STORE MNGR] Started transferin file aKey = %D"),aKey));
- TRACE(Print( _L("[STORE MNGR] Started transferin file aStatus = %D"),
- aStatus ));
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::TransferCompleted
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::TransferCompleted( TInt aKey, TInt aStatus,
- const TDesC& /*aFilePath*/ )
- {
- TRACE(Print(_L("[STORE MNGR]\t CCmSmTransferEngine::TransferCompleted() \
- aStatus %d"), aStatus ));
- TRACE(Print( _L("[STORE MNGR] Transfered file = %d"), aKey ));
-
- iObserver->TransferStatus( ECmSmFileTransferred );
- TInt err( KErrNone );
- if( !aStatus )
- {
- TTime time;
- time.HomeTime();
- if( iItems[ iItemIds[ aKey ] ] )
- {
- TRAP( err, AddStoredL( iItems[iItemIds[aKey]]->Path(),
- iDevice->Uuid(), time ) );
- TRACE(Print( _L("[STORE MNGR] AddStoredL err = %d"), err ));
- }
- TRAP( err, HandleItemStatusL( aKey ) );
- TRACE(Print( _L("[STORE MNGR] HandleItemStatusL err = %d"), err ));
- }
- TInt index( iTransferQueue.FindInOrder( aKey ) );
- if( KErrNotFound != index )
- {
- iTransferQueue.Remove( index );
- if( !iTransferQueue.Count() )
- {
- LOG( _L("[STORE MNGR] Transfer successfully completed"));
- LOG( _L("[STORE MNGR] Queue empty!"));
- iObserver->TransferStatus( ECmSmTransferCompleted );
- iTransferQueue.Reset();
- }
- }
- else
- {
- LOG( _L("[STORE MNGR] Transfer successfully completed"));
- iObserver->TransferStatus( ECmSmTransferCompleted );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::TransferProgress
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::TransferProgress( TInt /*aKey*/, TInt aBytes,
- TInt aTotalBytes )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::TransferProgress"));
-
- iTransferredData = ( aBytes / KKilo ); // Convert to kilobytes
-
- // Check if file has been transferred completely
- if ( aBytes == aTotalBytes )
- {
- iTotalTransferredData += ( aTotalBytes / KKilo );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::MediaServerDisappeared
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::MediaServerDisappeared(
- TUPnPDeviceDisconnectedReason /*aReason*/ )
- {
- TRACE(Print( _L("[STORE MNGR] CCmSmTransferEngine::\
- MediaServerDisappeared WLANLost") ));
- CancelCopy();
- iObserver->TransferStatus( ECmSmWlanLost );
- DeleteToBeRemoved();
- DeleteToBeShrinked();
- iToBeDeleted.Reset();
- iToBeDeleted.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::CancelOperation
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::CancelOperation()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::CancelOperation"));
-
- CancelCopy();
- DeleteToBeRemoved();
- DeleteToBeShrinked();
- iToBeDeleted.Reset();
- iToBeDeleted.Close();
- iObserver->TransferStatus(ECmSmTransferCanceled);
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::CopySingleFileL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::CopySingleFileL()
- {
- LOG( _L("[STORE MNGR] COTSTransferEngine::CopySingleFileL"));
-
- /** File transfer started */
- iTransferStarted.HomeTime();
- // Files left in queue
- iTransferQueue.Reset();
- iCopyStatus = ECmSmCopyNever;
- //start uploading
- CopyFilesOnceL();
-
- if( iItems.Count() == KErrNone )
- {
- iCopyStatus = ECmSmCopySuccess;
- LOG( _L("[STORE MNGR] Transfer successfully completed"));
- __ASSERT_DEBUG(( iIndex + 1 == 0 ),\
- User::Panic( KCmStoreManager, ECmSmTransferQueueMessedUp ));
- FinishCopy();
- }
- if( ECmSmCopyNever == iCopyStatus )
- {
- FinishCopy();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::ContinueCopyFilesL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::ContinueCopyFilesL()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::ContinueCopyFilesL"));
-
- CopyFilesOnceL();
-
- if ( iIndex == KErrNotFound && ECmSmCopyContinued == iCopyStatus )
- {
- iCopyStatus = ECmSmCopyNever;
- }
- if( ECmSmCopyNever == iCopyStatus )
- {
- FinishCopy();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::CopyFilesOnceL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::CopyFilesOnceL()
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::CopyFilesOnceL"));
-
- TInt copySize( 0 );
- TInt copyCt( 0 );
- if( iItemIds.Count() )
- {
- while( 0 <= iIndex &&
- copySize < KCopySizePerTime &&
- copyCt < KCopyCountPerTime )
- {
- if( iItemIds[iIndex] < iItems.Count() )
- {
- TFileName tempFileName;
- tempFileName.Copy( iItems[iItemIds[iIndex]]->Path() );
- TRACE(Print( _L("[STORE MNGR] Filename S.L 16-bit = %S,%d"),
- &tempFileName, iUploadSession ));
- if( !IsDuplicateL( iIndex ) )
- {
- TRAPD( err, iUploadSession->StartUploadL(
- tempFileName, iIndex ) );
-
- if( !err )
- {
- iCopyStatus = ECmSmCopySuccess;
- }
-
- TRAP( err,
- iUploadSession->StartTrackingProgressL( iIndex ) );
- tempFileName.Zero();
- if( !err )
- {
- iTransferQueue.InsertInOrder( iIndex );
- }
- copySize += iItems[iItemIds[iIndex]]->Size();
- copyCt++;
- }
- else
- {
- LOG( _L("[STORE MNGR] File already \
- on server!Skip file!"));
-
- TTime time;
- time.HomeTime();
- AddStoredL( iItems[iItemIds[iIndex]]->Path(),
- iDevice->Uuid(), time );
- HandleItemStatusL( iIndex );
- }
- }
- iIndex--;
- if( ( copySize >= KCopySizePerTime ||
- copyCt >= KCopyCountPerTime ) &&
- iIndex != KErrNotFound )
- {
- if( ECmSmCopySuccess != iCopyStatus )
- {
- iCopyStatus = ECmSmCopyContinued;
- }
- iObserver->TransferStatus( ECmSmTransferContinued );
- }
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::FinishCopy
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::FinishCopy()
- {
- LOG( _L("[STORE MNGR] CCmSmTransferEngine::FinishCopy \
- No files to be transfered!"));
- iObserver->TransferStatus( ECmSmTransferCompleted );
- CancelCopy();
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::ConnectedToDeviceL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::ConnectedToDeviceL( const CUpnpAVDevice& aDevice )
- {
- LOG( _L("[STORE MNGR] CCmSmTransferEngine::ConnectedToDeviceL"));
-
- CancelCopy();
- iUploadSession = &iAVController->StartUploadSessionL( aDevice );
- iUploadSession->SetObserver( *this );
-#ifdef _DEBUG
- CUpnpAVDevice& device = const_cast< CUpnpAVDevice& >( aDevice );
- HBufC* data16bitBuf = HBufC::NewLC( device.FriendlyName().Length() );
- TPtr data16bitPtr = data16bitBuf->Des();
- TInt conversionError =
- CnvUtfConverter::ConvertToUnicodeFromUtf8( data16bitPtr,
- device.FriendlyName() );
-
- TRACE(Print( _L("[STORE MNGR] conversionError = %d"), conversionError ));
- TRACE(Print( _L("[STORE MNGR] Target device name: %S"),
- &data16bitPtr ));
-
- CleanupStack::PopAndDestroy( data16bitBuf );
-
- data16bitBuf = HBufC::NewLC( device.FriendlyName().Length() );
-
- data16bitPtr = data16bitBuf->Des();
- conversionError =
- CnvUtfConverter::ConvertToUnicodeFromUtf8( data16bitPtr,
- device.FriendlyName() );
- TRACE(Print( _L("[STORE MNGR] conversionError = %d"), conversionError ));
- TRACE(Print( _L("[STORE MNGR] Targer device id: %S"),
- &data16bitPtr ));
-
- CleanupStack::PopAndDestroy( data16bitBuf );
-#endif
-
- LOG( _L("[STORE MNGR] ****** Connected to target device ******"));
- LOG( _L("[STORE MNGR] CCmSmTransferEngine::ConnectedToDeviceL end"));
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::AddStoredL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::AddStoredL( const TDesC& aFileName,
- const TDesC8& aUDN, TTime aTimeStamp )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::AddStoredL"));
-
- iDBManager->AddStoredL( aFileName, aUDN, aTimeStamp );
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::HandleItemStatusL
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::HandleItemStatusL( const TInt aKey )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::HandleItemStatusL"));
-
- RArray<TCmListItemStatus> statusValues; // ownership transferred
- RArray<TInt> devIds; // ownership transferred
-
- TInt index( KErrNotFound );
- TCmListItemStatus status( ECmStored );
-
- if( iItemIds[aKey] < iItems.Count() )
- {
- devIds = iItems[iItemIds[aKey]]->DevIds();
- statusValues = iItems[iItemIds[aKey]]->StatusValues();
- index = devIds.Find( iDevId );
- }
-
- if( KErrNotFound != index )
- {
- status = statusValues[index];
- }
- TInt countOfStatusVal( KErrNone );
- TRACE(Print( _L("[STORE MNGR] Status = %d"),
- (TInt)status ));
- TRACE(Print( _L("[STORE MNGR] statusValues.Count() = %d"),
- statusValues.Count() ));
- for( TInt i = 0 ; i < statusValues.Count(); i++ )
- {
- if( statusValues[i] == status )
- {
- countOfStatusVal++;
- }
- }
-
- TRACE(Print( _L("[STORE MNGR] countOfStatusVal = %d"),
- countOfStatusVal ));
- if( iItemIds[aKey] < iItems.Count() )
- {
- switch( status )
- {
- case ECmToBeRemoved:
- {
- LOG(_L("[STORE MNGR]\t To be removed"));
- if ( 2 > countOfStatusVal )
- {
- iItems[iItemIds[aKey]]->
- UpdateFileStatusL( iDevId, ECmStored );
- // Let's mark item to be deleted from the db
- iToBeDeleted.InsertInOrder( iItemIds[aKey] );
- iFilesToBeRemoved->AppendL(
- iItems[iItemIds[aKey]]->Path() );
- }
- else
- {
- iItems[iItemIds[aKey]]->
- UpdateFileStatusL( iDevId, ECmStored );
- }
- break;
- }
- case ECmToBeShrinked:
- {
- LOG(_L("[STORE MNGR]\t To be shrinked"));
- if ( 2 > countOfStatusVal)
- {
- iItems[iItemIds[aKey]]->
- UpdateFileStatusL( iDevId, ECmStored );
- // Let's mark item to be deleted from the db
- iToBeDeleted.InsertInOrder( iItemIds[aKey] );
- iFilesToBeShrinked->AppendL(
- iItems[iItemIds[aKey]]->Path() );
- }
- else
- {
- iItems[iItemIds[aKey]]->
- UpdateFileStatusL( iDevId, ECmStored );
- }
- break;
- }
- case ECmKeepOnDevice:
- {
- LOG(_L("[STORE MNGR]\t Keep On Device"));
- if( 2 > countOfStatusVal )
- {
- iItems[iItemIds[aKey]]->
- UpdateFileStatusL( iDevId, ECmStored );
- // Let's mark item to be deleted from the db
- iToBeDeleted.InsertInOrder( iItemIds[aKey] );
- }
- else
- {
- // If no action needed just change status
- iItems[iItemIds[aKey]]->
- UpdateFileStatusL( iDevId, ECmStored );
- }
- break;
- }
- case ECmStored:
- {
- LOG(_L("[STORE MNGR]\t already stored"));
- break;
- }
- default:
- {
- LOG(_L("[STORE MNGR]\t Wrong status!!!"));
- TRACE(Print( _L("[STORE MNGR] Status = %d"), (TInt)status ));
- User::Invariant();
- break;
- }
- }
- UpdateStoreTransferStatus( ECmStored,
- iItems[iItemIds[aKey]]->DbId(),
- iDevId );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::UpdateStoreTransferStatus
-// ---------------------------------------------------------------------------
-//
-void CCmSmTransferEngine::UpdateStoreTransferStatus( TUint aStatus,
- TInt64 aFid, TInt64 aMsId )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::UpdateStoreTransferStatus"));
-
- iDBManager->UpdateStoreTransferStatus( aStatus, aFid, aMsId );
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::GetArrayIndex
-// ---------------------------------------------------------------------------
-//
-TInt CCmSmTransferEngine::GetArrayIndex( TInt aKey )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::GetArrayIndex"));
-
- TInt index( 0 );
- for( TInt i = 0; i < iItemIds.Count(); i++ )
- {
- if( iItems[iItemIds[i]]->DbId() == aKey )
- {
- index = i;
- // End loop
- i = iItemIds.Count();
- }
- }
- return index;
- }
-
-// ---------------------------------------------------------------------------
-// CCmSmTransferEngine::IsDuplicateL
-// ---------------------------------------------------------------------------
-//
-TBool CCmSmTransferEngine::IsDuplicateL( const TInt aIndex )
- {
- LOG(_L("[STORE MNGR]\t CCmSmTransferEngine::IsDuplicateL"));
-
- return iDbWrapper->ExistsL( *iItems[iItemIds[aIndex]], iDevId );
- }
-
-// End of file
-
-