#include <string>
#include <set>
#include <vector>
+#include <cassert>
class FileData {
public:
// Construct a FileData object with default values
- FileData( char,
- std::string,
- std::string,
- std::string,
- unsigned long long,
- unsigned long long,
- std::string,
- unsigned long long = 0
- );
+ FileData() {}
char getFileType() const { return filetype; }
const std::string &getPermissions() const { return permissions; }
void setLastBackupDate( unsigned long long arg ) { last_backup_date = arg; }
private:
- FileData();
FileData( const FileData & );
char filetype;
std::string groupname;
unsigned long long filesize;
unsigned long long modified_date;
- std::string filename;
-
unsigned long long last_backup_date;
+ std::string filename;
};
+std::ostream &operator<<( std::ostream &o, const FileData *d );
+std::istream &operator>>( std::istream &i, FileData *d );
+
+std::ostream &operator<<( std::ostream &o, const FileData &d );
+std::istream &operator>>( std::istream &i, FileData &d );
+
struct FileDataLastBackupCmp {
bool operator()( const FileData *a, const FileData *b ) {
return a->getLastBackupDate() < b->getLastBackupDate();
std::less<std::string> cmp;
};
+bool needs_backup( const FileData *before, const FileData *after );
+
typedef std::set<FileData*,FileDataNameCmp> file_set;
typedef std::vector<FileData*> file_vector;