filemanager/Engine/src/CFileManagerActiveRename.cpp
branchRCL_3
changeset 38 491b3ed49290
parent 36 95243422089a
child 39 65326cf895ed
--- a/filemanager/Engine/src/CFileManagerActiveRename.cpp	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Class wraps rename operation
-*
-*/
-
-
-// INCLUDES
-#include <e32std.h>
-#include "CFileManagerActiveRename.h"
-#include "CFileManagerEngine.h"
-#include "CFileManagerUtils.h"
-#include "CFileManagerCommonDefinitions.h"
-#include "FileManagerDebug.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CFileManagerActiveRename::CFileManagerActiveRename
-// -----------------------------------------------------------------------------
-//
-CFileManagerActiveRename::CFileManagerActiveRename(
-        CFileManagerEngine& aEngine,
-        CFileManagerUtils& aUtils ) :
-    iEngine( aEngine ),
-    iUtils( aUtils ),
-    iFs( aEngine.Fs() )
-    {
-    FUNC_LOG
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerActiveRename::~CFileManagerActiveRename
-// -----------------------------------------------------------------------------
-//
-CFileManagerActiveRename::~CFileManagerActiveRename()
-    {
-    FUNC_LOG
-
-    delete iName;
-    delete iNewName;
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerActiveRename::NewL
-// -----------------------------------------------------------------------------
-//
-CFileManagerActiveRename* CFileManagerActiveRename::NewL(
-        CFileManagerEngine& aEngine,
-        CFileManagerUtils& aUtils,
-        const TDesC& aName,
-        const TDesC& aNewName )
-    {
-    FUNC_LOG
-
-    CFileManagerActiveRename* self = new ( ELeave ) CFileManagerActiveRename(
-        aEngine, aUtils );
-    CleanupStack::PushL( self );
-    self->ConstructL( aName, aNewName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerActiveRename::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CFileManagerActiveRename::ConstructL(
-        const TDesC& aName, const TDesC& aNewName )
-    {
-    FUNC_LOG
-
-    iName = aName.AllocL();
-    iNewName = aNewName.AllocL();
-    // Remove white spaces from end, file server also ignores those
-    iNewName->Des().TrimRight();
-    iName->Des().TrimRight();
-
-    iIsRemoteDrive = iUtils.IsRemoteDrive( aName );
-    BaseConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerActiveRename::ThreadFunctionL
-// -----------------------------------------------------------------------------
-//
-void CFileManagerActiveRename::ThreadFunctionL( const TBool& aCanceled )
-    {
-    FUNC_LOG
-
-    TInt maxSubPath( 0 );
-    TBool isFolder( CFileManagerUtils::HasFinalBackslash( *iName ) );
-    if ( isFolder && !iIsRemoteDrive )
-        {
-        // On local drives, solve maximum subfolder path to avoid too long paths
-        maxSubPath = ThreadGetMaxSubfolderPathL( aCanceled );
-        }
-    if ( iNewName->Length() + maxSubPath > KMaxFileName )
-        {
-        User::Leave( KErrBadName );
-        }
-    if ( isFolder )
-        {
-        User::LeaveIfError( iFs.Rename( *iName, *iNewName ) );
-        }
-    else
-        {
-        // Replace the target item if exist
-        // if we have came here, it is already asked that
-        // user want's to overwrite other item
-        User::LeaveIfError( iFs.Replace( *iName, *iNewName ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerActiveRename::ThreadGetMaxSubfolderPathL
-// -----------------------------------------------------------------------------
-//
-TInt CFileManagerActiveRename::ThreadGetMaxSubfolderPathL(
-        const TBool& aCanceled )
-    {
-    FUNC_LOG
-
-    CDirScan* dirScan = CDirScan::NewLC( iFs );
-
-    // Set scanning from current directory, 
-    // take files and folder including the hidden and system files
-    // No sorting needed
-    dirScan->SetScanDataL(
-        *iName,
-        KEntryAttNormal | KEntryAttDir | KEntryAttHidden | KEntryAttSystem,
-        ESortNone );
-
-    TInt ret( 0 );
-    CDir* dir = NULL;
-    dirScan->NextL( dir );
-    while( dir )
-        {
-        CleanupStack::PushL( dir );
-        if ( aCanceled )
-            {
-            User::Leave( KErrCancel );
-            }
-        TInt count( dir->Count() );
-        for ( TInt i( 0 ); i < count; ++i )
-            {
-            if ( aCanceled )
-                {
-                User::Leave( KErrCancel );
-                }
-            const TEntry& entry( ( *dir )[ i ] );
-            TPtrC abbrPath( dirScan->AbbreviatedPath() );
-            TInt abbrPathLen( abbrPath.Length() );
-            if ( abbrPathLen && abbrPath[ 0 ] == KFmgrBackslash()[ 0 ] )
-                {
-                --abbrPathLen; // Initial backslash is already included
-                }
-            TInt pathLen( abbrPathLen + entry.iName.Length() );
-            if( entry.IsDir() ) // Add space for trailing backslash
-                {
-                ++pathLen;
-                }
-            if( pathLen > ret )
-                {
-                ret = pathLen;
-                }
-            if ( pathLen > KMaxFileName )
-                {
-                User::Leave( KErrBadName );
-                }
-            }
-        CleanupStack::PopAndDestroy( dir );
-        dirScan->NextL( dir );
-        }
-    CleanupStack::PopAndDestroy( dirScan );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CFileManagerActiveRename::CancelThreadFunction
-// -----------------------------------------------------------------------------
-//
-void CFileManagerActiveRename::CancelThreadFunction()
-    {
-    FUNC_LOG
-
-    if ( iName )
-        {
-        iEngine.CancelTransfer( *iName );
-        }
-    }
-
-// End of File