12 #include "filesystem/IFileTypes.h" 13 #include "utils/ProgressJob.h" 33 const std::string& strDestFile,
34 bool displayProgress =
false,
35 int errorHeading = 0,
int errorLine = 0);
37 static std::string GetActionString(
FileAction action);
41 const char*
GetType()
const override {
return m_displayProgress ?
"filemanager" :
""; }
42 bool operator==(
const CJob *job)
const override;
46 const std::string& strDestFile);
48 const std::string &GetAverageSpeed()
const {
return m_avgSpeed; }
49 const std::string &GetCurrentOperation()
const {
return m_currentOperation; }
50 const std::string &GetCurrentFile()
const {
return m_currentFile; }
52 FileAction GetAction()
const {
return m_action; }
53 int GetHeading()
const {
return m_heading; }
54 int GetLine()
const {
return m_line; }
60 CFileOperation(
FileAction action,
const std::string &strFileA,
const std::string &strFileB, int64_t time);
62 bool OnFileCallback(
void* pContext,
int ipercent,
float avgSpeed)
override;
68 std::string m_strFileA, m_strFileB;
71 friend class CFileOperation;
73 typedef std::vector<CFileOperation> FileOperationList;
76 const std::string& strDestFile,
77 FileOperationList& fileOperations,
79 bool DoProcessFolder(
FileAction action,
const std::string& strPath,
const std::string& strDestFile, FileOperationList &fileOperations,
double &totalTime);
80 bool DoProcessFile(
FileAction action,
const std::string& strFileA,
const std::string& strFileB, FileOperationList &fileOperations,
double &totalTime);
82 static inline bool CanBeRenamed(
const std::string &strFileA,
const std::string &strFileB);
86 std::string m_strDestFile;
87 std::string m_avgSpeed, m_currentOperation, m_currentFile;
88 bool m_displayProgress =
false;
Base class for jobs that are executed asynchronously.
Definition: Job.h:109
Definition: FileOperationJob.h:18
Copy, emptying any existing destination directories first.
Definition: FileOperationJob.h:26
Represents a list of files.
Definition: FileItem.h:702
const char * GetType() const override
Function that returns the type of job.
Definition: FileOperationJob.h:41
bool DoWork() override
Main workhorse function of CJob instances.
Definition: FileOperationJob.cpp:66
FileAction
Definition: FileOperationJob.h:21
Definition: IFileTypes.h:112
Basic implementation of a CJob with a progress bar to indicate the progress of the job being processe...
Definition: ProgressJob.h:22