X-Git-Url: http://git.pippins.net/embedvideo/.git/?a=blobdiff_plain;f=filedata.hpp;h=b339f05f92b2fcc4c425e13c119b56bbb37a8a5b;hb=b1faa07ab41440b9af427937f43084d517c3dcf9;hp=3df81d9378772e0cbab5e5ca9bc17fb6f6a4226f;hpb=e2cc1e337cc5461d93a94931097ceb34e325c7ac;p=backups%2F.git diff --git a/filedata.hpp b/filedata.hpp index 3df81d9..b339f05 100644 --- a/filedata.hpp +++ b/filedata.hpp @@ -4,19 +4,12 @@ #include #include #include +#include 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; } @@ -37,7 +30,6 @@ class FileData { void setLastBackupDate( unsigned long long arg ) { last_backup_date = arg; } private: - FileData(); FileData( const FileData & ); char filetype; @@ -46,11 +38,16 @@ class FileData { 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(); @@ -71,6 +68,8 @@ struct FileDataNameCmp { std::less cmp; }; +bool needs_backup( const FileData *before, const FileData *after ); + typedef std::set file_set; typedef std::vector file_vector;