Disk ARchive
2.4.17
|
the data_tree class stores presence of a given file in a set of archives More...
#include <data_tree.hpp>
Inherited by libdar::data_dir.
Public Types | |
enum | lookup { found_present, found_removed, not_found, not_restorable } |
enum | etat { et_saved, et_present, et_removed, et_absent } |
Public Member Functions | |
data_tree (const std::string &name) | |
data_tree (generic_file &f, unsigned char db_version) | |
virtual void | dump (generic_file &f) const |
std::string | get_name () const |
void | set_name (const std::string &name) |
lookup | get_data (archive_num &archive, const infinint &date, bool even_when_removed) const |
return the archive where to find the data that was defined just before or at the given date | |
lookup | get_EA (archive_num &archive, const infinint &date, bool even_when_removed) const |
if EA has been saved alone later, returns in which version for the state of the file at the given date. | |
bool | read_data (archive_num num, infinint &val, etat &present) const |
return the date of file's last modification date within the give archive and whether the file has been saved or deleted | |
bool | read_EA (archive_num num, infinint &val, etat &present) const |
return the date of last inode change and whether the EA has been saved or deleted | |
void | set_data (const archive_num &archive, const infinint &date, etat present) |
void | set_EA (const archive_num &archive, const infinint &date, etat present) |
virtual bool | check_order (user_interaction &dialog, const path ¤t_path, bool &initial_warn) const |
check date order between archives withing the database ; throw Erange if problem found with date order | |
virtual void | finalize (const archive_num &archive, const infinint &deleted_date, const archive_num &ignore_archive_greater_or_equal) |
add deleted entry if no object of the current archive exist and the entry of the previous archive is already present. More... | |
virtual bool | remove_all_from (const archive_num &archive_to_remove, const archive_num &last_archive) |
return true if the corresponding file is no more located in any archive (thus, the object is no more usefull in the base) | |
void | listing (user_interaction &dialog) const |
list where is saved this file | |
virtual void | apply_permutation (archive_num src, archive_num dst) |
virtual void | skip_out (archive_num num) |
decrement archive numbers above num | |
virtual void | compute_most_recent_stats (std::vector< infinint > &data, std::vector< infinint > &ea, std::vector< infinint > &total_data, std::vector< infinint > &total_ea) const |
virtual char | obj_signature () const |
virtual bool | fix_corruption () |
Static Public Member Functions | |
static char | signature () |
the data_tree class stores presence of a given file in a set of archives
the data associated to a given file are the different modification dates that this file has been found in the archive the database has been feed by
Definition at line 57 of file data_tree.hpp.
|
virtual |
add deleted entry if no object of the current archive exist and the entry of the previous archive is already present.
[in] | archive | is the number of the archive to finalize |
[in] | deleted_date | date of deletion to use for inode removal when no information can be grabbed from the archive (this date is taken from the parent dir last modification date) |
[in] | ignore_archive_greater_or_equal | ignore archives which number is greater or equal than "ignore_archive_greater_or_equal" as if they were not present in the database. If set to zero, no archive is ignored. |
Reimplemented in libdar::data_dir.