filemanager/Engine/inc/CFileManagerActiveExecute.h
branchRCL_3
changeset 20 491b3ed49290
parent 19 95243422089a
child 21 65326cf895ed
--- a/filemanager/Engine/inc/CFileManagerActiveExecute.h	Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,284 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Handles the copy/move operation
-*
-*/
-
-
-
-#ifndef CFILEMANAGERACTIVEEXECUTE_H
-#define CFILEMANAGERACTIVEEXECUTE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-#include <badesca.h>
-#include "FileManagerEngine.hrh"
-#include "MFileManagerProcessObserver.h"
-#include "MFileManagerThreadFunction.h"
-
-// FORWARD DECLARATIONS
-class CFileManagerEngine;
-class MFileManagerItemIterator;
-//class CMGXFileManager;
-class CFileManagerThreadWrapper;
-
-/**
-*  CFileManagerActiveExecute
-*
-*  Handles the copy and move operations.
-*
-*  @lib FileManagerEngine.lib
-*  @since 2.0
-*/
-NONSHARABLE_CLASS(CFileManagerActiveExecute) : public CActive,
-                                               public MFileManagerThreadFunction
-
-    {
-
-    public:
-        
-        /**
-        * Overwrite file switch
-        */
-        enum TFileManagerSwitch
-            {
-            ENoOverWrite = 1,
-            EOverWrite
-            };
-        
-        /**
-        * Two-phased constructor.
-        * @since 2.0
-        * @param aEngine    reference to CFileManagerEngine instance
-        * @param aOperation defines type of operation copy or move
-        * @param aObserver  reference to MFileManagerProcess implemented
-        *                   instance
-        * @param aIndexList list of indexes from current view which needs operation
-        * @param aToFolder  folder where items are moved or copied
-        * @return Newly constructed CFileManagerActiveExecute
-        */
-        IMPORT_C static CFileManagerActiveExecute* NewL( 
-            CFileManagerEngine& aEngine,
-            MFileManagerProcessObserver::TFileManagerProcess aOperation,
-            MFileManagerProcessObserver& aObserver,
-            CArrayFixFlat<TInt>& aIndexList,
-            const TDesC& aToFolder );
-
-        /**
-        * Destructor
-        */
-        IMPORT_C ~CFileManagerActiveExecute();
-        
-        /**
-        * Executes one operation at time, one file copy/move or directory creation
-        * @since 2.0
-        * @param aOverWrite Over write the file or not
-        */
-        IMPORT_C void ExecuteL( TFileManagerSwitch aOverWrite );
-        
-        /**
-        * Cancel the operation
-        * @since 2.0
-        */
-        IMPORT_C void CancelExecution();
-
-        /**
-        * Gets destination folder
-        * @since 3.2
-        */
-        IMPORT_C TPtrC ToFolder();
-        
-    private:
-        
-        // From CActive
-        void DoCancel();
-        void RunL();
-        TInt RunError(TInt aError);
-        
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CFileManagerActiveExecute( CFileManagerEngine& aEngine,
-            MFileManagerProcessObserver::TFileManagerProcess aOperation,
-            MFileManagerProcessObserver& aObserver );
-        
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( CArrayFixFlat<TInt>& aIndexList,
-            const TDesC& aToFolder );
-        
-    private:
-        
-        /**
-        * Item operation was succesfully carried on, move to next item
-        */
-        void KErrNoneActionL();
-        
-        /**
-        * Item operation was not succesful because there was target item already
-        * This function deals that situation
-        */
-        void KErrAlreadyExistsActionL();
-        
-        /**
-        * Takes last folder name on other string and appends it to other
-        * @param aResult Stores the result as full path
-        * @param aSrc source full path which last folder name is taken
-        * @param aDst target path where source last path is appended
-        */
-        void AddLastFolder( TDes& aResult, const TDesC& aSrc, const TDesC& aDst );
-
-        /**
-        * Performs a copy or move operation
-        * 
-        * @param aSwitch indicate destination file to be overwritten or not
-        * @return system wide error code
-        */
-        TInt DoOperation( TInt aSwitch );
-
-        /**
-        * Checks if directory is empty
-        * 
-        * @param aDir Full path of the directory
-        * @return ETrue if directory is empty, otherwise EFalse
-        */
-        TBool IsEmptyDir( const TDesC& aDir );
-
-        /**
-        * Completes operation
-        * 
-        * @param aError Operation result
-        */
-        void CompleteL( TInt aError );
-
-        /**
-        * Updates MG2 notifications
-        * 
-        * @param aForceFlush Indicates if notications are flushed
-        * @param aError Indicates the result
-        */
-        void UpdateNotifications( TBool aFlush, TInt aError );
-
-        static void AppendArrayIfNotFound(
-            CDesCArray& aArray, const TDesC& aFullPath );
-
-        void FlushArray( CDesCArray& aArray );
-
-        void ThreadCopyOrMoveStepL();
-
-        void ThreadFinalizeMoveStepL();
-
-    private: // From MFileManagerThreadFunction
-
-        void ThreadStepL();
-
-        TBool IsThreadDone();
-
-        void NotifyThreadClientL( TNotifyType aType, TInt aValue );
-
-    private:
-        
-        // index to current CDir array
-        TInt    iCurrentIndex;
-        
-        // Own: Source item with full path
-        HBufC*  iFullPath;
-        
-        // Own: Destination item with full path
-        HBufC*  iDestination;
-        
-        // Has user cancelled the operation
-        TBool   iCancelled;
-        
-        // Source directory is empty so special operations are needed
-        TBool   iEmptyDir;
-        
-        // Needed to get the item locations behind given index(es)
-        CFileManagerEngine&             iEngine;
-
-        // Ref: Shareable file server session
-        RFs& iFs;
-
-        // Move or copy operation
-        MFileManagerProcessObserver::TFileManagerProcess    iOperation;
-        
-        // Own: Array of user selected items to be copied/moved
-        CArrayFixFlat< TInt >*            iIndexList;
-        
-        // Own: user given destination folder
-        HBufC*                          iToFolder;
-        
-        // Own: This is either CFileManagerIndexIterator or CFileManagerFileSystemIterator
-        // depending of source item type, file or folder
-        MFileManagerItemIterator*       iItemIterator;
-        
-        // Ref: File operation phases are signaled through this interface
-        MFileManagerProcessObserver&    iObserver;
-
-        // Ref: Current source item with full path
-        // Needed for file already exist situations.
-        HBufC* iSrc;
-        
-        // Ref: Current destination item with full path
-        // Needed for file already exist situations.
-        HBufC* iDst;
-        
-        // Total transferred bytes, used for progress note
-        // except in same drive move operation
-        TUint iBytesTransferredTotal;
-        
-        // Total transferred files, used for progress note
-        // This is used if move operation is done inside drive
-        TInt iFilesTransferredTotal;
-        
-        // Current error
-        TInt iError;
-
-        // Ref: MG2 update notification object
-        //CMGXFileManager* iMgxFileManager;
-
-        // Own: Thread wrapper for the operation
-        CFileManagerThreadWrapper* iThreadWrapper;
-
-        // Indicates the used operation switches
-        TInt iSwitch;
-
-        // Own: Buffer for storing changed items for MG2 notifications
-        CDesCArray* iChangedSrcItems;
-
-        // Own: Buffer for storing changed items for MG2 notifications
-        CDesCArray* iChangedDstItems;
-
-        // Indicates that the operation is done inside same drive
-        TBool iOperationOnSameDrive;
-
-        // Indicates that move operation is finalizing
-        TBool iFinalizeMove;
-
-        // Indicates that source of the operation is on remote drive
-        TBool iIsSrcRemoteDrive;
-
-        // Indicates that destination of the operation is on remote drive
-        TBool iIsDstRemoteDrive;
-
-        // Stores type of the current item
-        TFileManagerTypeOfItem iItemType;
-    };
-    
-#endif // CFILEMANAGERACTIVEEXECUTE_H
-    
-    // End of File