Index: src/ch/TSubTaskCopyMove.h
===================================================================
diff -u -N -rb7709acbab26fdb108b77d3e08d3872f54248af2 -r8c87d4185fbe5b952c49f72afcfd5f9fca338fb4
--- src/ch/TSubTaskCopyMove.h	(.../TSubTaskCopyMove.h)	(revision b7709acbab26fdb108b77d3e08d3872f54248af2)
+++ src/ch/TSubTaskCopyMove.h	(.../TSubTaskCopyMove.h)	(revision 8c87d4185fbe5b952c49f72afcfd5f9fca338fb4)
@@ -23,4 +23,34 @@
 #ifndef __TSUBTASKCOPYMOVE_H__
 #define __TSUBTASKCOPYMOVE_H__
 
+#include "TSubTaskBase.h"
+
+struct CUSTOM_COPY_PARAMS;
+class TAutoFileHandle;
+class CDataBuffer;
+
+class TSubTaskCopyMove : public TSubTaskBase
+{
+public:
+   TSubTaskCopyMove(TSubTaskContext& tSubTaskContext);
+
+   ESubOperationResult Exec();
+
+private:
+   bool GetMove(const CFileInfoPtr& spFileInfo);
+   int GetBufferIndex(const CFileInfoPtr& spFileInfo);
+
+   TSubTaskBase::ESubOperationResult CustomCopyFileFB(CUSTOM_COPY_PARAMS* pData);
+
+   TSubTaskBase::ESubOperationResult OpenSourceFileFB(TAutoFileHandle& hFile, const CFileInfoPtr& spSrcFileInfo, bool bNoBuffering);
+   TSubTaskBase::ESubOperationResult OpenDestinationFileFB(TAutoFileHandle& hFile, const chcore::TSmartPath& pathDstFile, bool bNoBuffering, const CFileInfoPtr& spSrcFileInfo, unsigned long long& ullSeekTo, bool& bFreshlyCreated);
+   TSubTaskBase::ESubOperationResult OpenExistingDestinationFileFB(TAutoFileHandle& hFile, const chcore::TSmartPath& pathDstFilePath, bool bNoBuffering);
+
+   TSubTaskBase::ESubOperationResult SetFilePointerFB(HANDLE hFile, long long llDistance, const chcore::TSmartPath& pathFile, bool& bSkip);
+   TSubTaskBase::ESubOperationResult SetEndOfFileFB(HANDLE hFile, const chcore::TSmartPath& pathFile, bool& bSkip);
+
+   TSubTaskBase::ESubOperationResult ReadFileFB(HANDLE hFile, CDataBuffer& rBuffer, DWORD dwToRead, DWORD& rdwBytesRead, const chcore::TSmartPath& pathFile, bool& bSkip);
+   TSubTaskBase::ESubOperationResult WriteFileFB(HANDLE hFile, CDataBuffer& rBuffer, DWORD dwToWrite, DWORD& rdwBytesWritten, const chcore::TSmartPath& pathFile, bool& bSkip);
+};
+
 #endif