| #ifndef FILES_H |
| #define FILES_H |
| |
| #include <map> |
| #include <string> |
| #include <vector> |
| #include <sys/types.h> |
| |
| using namespace std; |
| |
| enum FileOpType { |
| FILE_OP_COPY = 0, |
| FILE_OP_REMOVE, |
| FILE_OP_STRIP |
| }; |
| |
| struct FileRecord |
| { |
| FileRecord(); |
| |
| string listFile; |
| int listLine; |
| |
| string sourceBase; |
| string sourceName; |
| string sourcePath; |
| bool sourceIsDir; |
| time_t sourceMod; |
| off_t sourceSize; |
| FileOpType fileOp; |
| |
| string outName; |
| string outPath; |
| off_t outSize; |
| time_t outMod; |
| bool outIsDir; |
| unsigned int mode; |
| }; |
| |
| int read_list_file(const string& filename, |
| const map<string, string>& variables, |
| vector<FileRecord>* files, |
| vector<string>* excludes); |
| int locate(FileRecord* rec, const vector<string>& search); |
| void stat_out(const string& base, FileRecord* rec); |
| string dir_part(const string& filename); |
| int list_dir(const FileRecord& rec, const vector<string>& excludes, |
| vector<FileRecord>* files); |
| |
| #endif // FILES_H |