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
00029
00030
00031
00032 #ifndef _edoFileSnapshot_h
00033 #define _edoFileSnapshot_h
00034
00035 #include <string>
00036 #include <fstream>
00037 #include <stdexcept>
00038
00039 #include "utils/eoMonitor.h"
00040
00042
00043 class edoFileSnapshot : public eoMonitor
00044 {
00045 public:
00046
00047 edoFileSnapshot(std::string dirname,
00048 unsigned int frequency = 1,
00049 std::string filename = "gen",
00050 std::string delim = " ",
00051 unsigned int counter = 0,
00052 bool rmFiles = true,
00053 bool saveFilenames = true);
00054
00055 virtual ~edoFileSnapshot();
00056
00057 virtual bool hasChanged() {return _boolChanged;}
00058 virtual std::string getDirName() { return _dirname; }
00059 virtual unsigned int getCounter() { return _counter; }
00060 virtual const std::string baseFileName() { return _filename;}
00061 std::string getFileName() {return _currentFileName;}
00062
00063 void setCurrentFileName();
00064
00065 virtual eoMonitor& operator()(void);
00066
00067 virtual eoMonitor& operator()(std::ostream& os);
00068
00069 private :
00070 std::string _dirname;
00071 unsigned int _frequency;
00072 std::string _filename;
00073 std::string _delim;
00074 std::string _currentFileName;
00075 unsigned int _counter;
00076 bool _saveFilenames;
00077 std::ofstream* _descOfFiles;
00078 bool _boolChanged;
00079 };
00080
00081 #endif // !_edoFileSnapshot