30 #include "../my_config.h" 60 data_dir & operator = (
const data_dir & ref) { rejetons.clear();
return *
this; };
68 const data_tree *read_child(
const std::string & name)
const;
69 void read_all_children(std::vector<std::string> & fils)
const;
70 void finalize_except_self(
const archive_num & archive,
72 const archive_num & ignore_archives_greater_or_equal);
83 std::string marge =
"")
const;
86 virtual void compute_most_recent_stats(std::deque<infinint> & data,
87 std::deque<infinint> &
ea,
88 std::deque<infinint> & total_data,
89 std::deque<infinint> & total_ea)
const override;
91 virtual char obj_signature()
const override {
return signature(); };
92 static char signature() {
return 'd'; };
94 virtual bool fix_corruption()
override;
115 std::deque<data_tree *> rejetons;
118 void remove_child(
const std::string & name);
119 data_tree *find_or_addition(
const std::string & name,
bool is_dir,
const archive_num & archive);
static data_tree * read_next_in_list_from_file(generic_file &f, unsigned char db_version)
read signature and depening on it run data_tree or data_dir constructor
class used to organize objects in tree in catalogue as like directories in a filesystem ...
bool ea() noexcept
returns whether EA support has been activated at compilation time
virtual void skip_out(archive_num num) override
decrement archive numbers above num
the data_dir class inherits from data_tree and holds the directory tree's parent relationship ...
class generic_file is defined here as well as class fichierthe generic_file interface is widely used ...
void(*)(void *context, const std::string &filename, bool available_data, bool available_ea) database_listing_show_files_callback
called by the database::get_files() routine
base classes used to store entree information in dar_manager databases
the data_tree class stores presence of a given file in a set of archives
This is a pure virtual class that is used by libdar when interaction with the user is required...
used to record information in a catalogue about a deleted file (differential backup context) ...
virtual bool check_order(user_interaction &dialog, const path ¤t_path, bool &initial_warn) const override
check date order between archives withing the database ; throw Erange if problem found with date orde...
the cat_directory inode class
the archive class realizes the most general operations on archives
void data_tree_update_with(const cat_directory *dir, archive_num archive)
add a directory to the dat_dir
defines the interaction interface between libdar and users.
here is the definition of the path classthe path class handle path and provide several operation on t...
switch module to limitint (32 ou 64 bits integers) or infinint
virtual bool remove_all_from(const archive_num &archive_to_remove, const archive_num &last_archive) override
return true if the corresponding file is no more located in any archive (thus, the object is no more ...
static data_dir * data_tree_read(generic_file &f, unsigned char db_version)
read a signature and then run the data_dir constructor but aborts if not a data_dir ...
virtual void finalize(const archive_num &archive, const datetime &deleted_date, const archive_num &ignore_archives_greater_or_equal) override
add deleted entry if no object of the current archive exist and the entry of the previous archive is ...
void show(database_listing_show_files_callback callback, void *tag, archive_num num, std::string marge="") const
list the most recent files owned by that archive (or by any archive if num == 0)
this is the interface class from which all other data transfer classes inherit
bool data_tree_find(path chemin, const data_tree *&ptr) const
lookup routine to find a pointer to the dat_tree object corresponding to the given path ...
class archive_num stores the position of an archive inside a dar_manager database ...
the root class for all cat_inode
base object for all inode types, managed EA and FSA, dates, permissions, ownership, ...
libdar namespace encapsulate all libdar symbols
the class path is here to manipulate paths in the Unix notation: using'/'