My Project
D:/source/c++/Programme/sally/sally/sallyAPI/FileActionController.h
Go to the documentation of this file.
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 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines