My Project
|
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 #pragma once 00029 #include "Define.h" 00030 #include <string> 00031 00032 namespace SallyAPI 00033 { 00034 namespace File 00035 { 00036 enum FILE_ACTION { FILE_ACTION_MOVE, FILE_ACTION_COPY, FILE_ACTION_DELETE }; 00037 00046 00047 class DLL_API_SALLY CFileActionController 00048 { 00049 protected: 00050 FILE_ACTION m_eFileAction; 00051 int m_iProcessed; 00052 std::string m_strCurrentFile; 00053 bool m_bCancel; 00054 int m_iCurrentFileSize; 00055 int m_iCurrentFileSizeTransferred; 00056 std::string m_strRequestMessage; 00057 std::string m_strRequestFilename; 00058 int m_iRequestAnswer; 00059 public: 00060 CFileActionController(FILE_ACTION fileAction); 00061 virtual ~CFileActionController(); 00062 00063 int GetCurrentFileSize(); 00064 int GetCurrentFileSizeTransferred(); 00065 00066 void SetCurrentFileSize(int fileSize); 00067 void SetCurrentFileSizeTransferred(int fileSize); 00068 00069 int GetProcessedCount(); 00070 void SetProcessedCount(int processed); 00071 00072 std::string GetCurrentFile(); 00073 void SetCurrentFile(const std::string& currentFile); 00074 00075 FILE_ACTION GetFileAction(); 00076 00077 void Cancel(); 00078 bool ShouldCancel(); 00079 00080 bool CopyFile(const std::string& sourceFile, const std::string& destinationFile); 00081 bool MoveFile(const std::string& sourceFile, const std::string& destinationFile); 00082 00083 void RequestUserAction(const std::string& message, const std::string& filename); 00084 int GetRequestAnswer(); 00085 void ResetRequestAnswer(); 00086 00087 bool IsRequestWaiting(); 00088 std::string GetRequestMessage(); 00089 std::string GetRequestFilename(); 00090 void SetRequestAnswer(bool value); 00091 }; 00092 } 00093 }