class CTNFileUtil
{
public:
    
    CTNFileUtil();
    
    ~CTNFileUtil();
    
    bool fileExists(string file);
    
    bool createFile(string file);
    
    bool copyFile(string sourceFile, string destFile);
    
    bool copyFileReName(string sourceFile, string destDirectory, string destFile);
    
    bool removeFile(string sourceFile);
    
    bool renameFile(string sourceFile, string destFile);
    
    bool moveFile(string sourceFile, string destFile);
    
    bool copyFiles(string sourceDirectory, string destDirectory);
    
    bool copyFiles(CSelectHelp& help, string destDirectory);
    
    bool directoryExists(string file);
    
    bool createDirectory(string directory);
    
    bool copyDirectory(string sourceDirectory, string destDirectory);
    
    bool emptyDirectory(string directory);
    
    bool removeDirectory(string directory);
    
    bool copyDirectories(string sourceDirectory, string destDirectory);
    
    bool emptyDirectories(string directory);
    
    bool removeDirectories(string directory);
    
    bool enumFilesInDirectoryWithFilter(string filter, string sourceDirectory, CSelectHelp& help, int mode = EF_ONLY_FILENAMES);
    
    bool enumAllDirectories(string sourceDirectory, CSelectHelp& help, int mode = EF_FULLY_QUALIFIED);
    
    bool enumDirectories(string sourceDirectory, CSelectHelp& help, int mode = EF_ONLY_FILENAMES);
    
    bool enumFilesInDirectory(string sourceDirectory, CSelectHelp& help, int mode = EF_ONLY_FILENAMES);
    
    bool enumAllFiles(string sourceDirectory, CSelectHelp& help, int mode = EF_FULLY_QUALIFIED);
    
    bool enumAllFilesWithFilter(string filter, string sourceDirectory, CSelectHelp& help, int mode = EF_FULLY_QUALIFIED);
    
    bool renameDirectory(string oldDirectory, string newName);
    
    bool moveDirectory(string oldDirectory, string newDirectory);
    
    virtual std::string error();
};