![]() |
Disk ARchive 2.7.18
Full featured and portable backup and archiving tool
|
the catalogue class which gather all objects contained in a give archive More...
#include <catalogue.hpp>
Inherits libdar::mem_ui.
Public Member Functions | |
| catalogue (const std::shared_ptr< user_interaction > &ui, const datetime &root_last_modif, const label &data_name) | |
| catalogue (const std::shared_ptr< user_interaction > &ui, const pile_descriptor &pdesc, const archive_version &reading_ver, compression default_algo, bool lax, const label &lax_layer1_data_name, bool only_detruit=false) | |
| catalogue (const catalogue &ref) | |
| catalogue (catalogue &&ref)=delete | |
| catalogue & | operator= (const catalogue &ref) |
| catalogue & | operator= (catalogue &&ref)=delete |
| virtual void | reset_read () const |
| virtual void | end_read () const |
| virtual void | skip_read_to_parent_dir () const |
| virtual bool | read (const cat_entree *&ref) const |
| virtual bool | read_if_present (std::string *name, const cat_nomme *&ref) const |
| void | remove_read_entry (std::string &name) |
| const cat_directory & | get_current_reading_dir () const |
| virtual void | tail_catalogue_to_current_read (bool including_last_read) |
| void | reset_sub_read (const path &sub) |
| bool | sub_read (user_interaction &ui, const cat_entree *&ref) |
| virtual bool | read_second_time_dir () const |
| void | reset_add () |
| virtual void | pre_add (const cat_entree *ref, const pile_descriptor *dest=nullptr) const |
| catalogue extension routines for escape sequence | |
| virtual void | pre_add_ea (const cat_entree *ref, const pile_descriptor *dest=nullptr) const |
| virtual void | pre_add_crc (const cat_entree *ref, const pile_descriptor *dest=nullptr) const |
| virtual void | pre_add_dirty (const pile_descriptor *dest=nullptr) const |
| virtual void | pre_add_ea_crc (const cat_entree *ref, const pile_descriptor *dest=nullptr) const |
| virtual void | pre_add_waste_mark (const pile_descriptor *dest=nullptr) const |
| virtual void | pre_add_failed_mark (const pile_descriptor *dest=nullptr) const |
| virtual void | pre_add_fsa (const cat_entree *ref, const pile_descriptor *dest=nullptr) const |
| virtual void | pre_add_fsa_crc (const cat_entree *ref, const pile_descriptor *dest=nullptr) const |
| virtual void | pre_add_delta_sig (const pile_descriptor *dest=nullptr) const |
| virtual escape * | get_escape_layer () const |
| virtual void | drop_escape_layer () |
| virtual void | set_escape_layer (escape *ptr) |
| void | add (cat_entree *ref, bool addtostats=true) |
| void | re_add_in (const std::string &subdirname) |
| void | re_add_in_replace (const cat_directory &dir) |
| void | add_in_current_read (cat_nomme *ref) |
| const cat_directory & | get_current_add_dir () const |
| void | reset_compare () const |
| bool | compare (const cat_entree *name, const cat_entree *&extracted) const |
| infinint | update_destroyed_with (const catalogue &ref) |
| add into "this" detruit object corresponding to object of ref absent in "this" | |
| void | update_absent_with (const catalogue &ref, infinint aborting_next_etoile) |
| copy from ref missing files in "this" and mark then as "not_saved" (no change since reference) | |
| void | drop_all_non_detruits () |
| remove/destroy from "this" all objects that are neither directory nor detruit objects | |
| void | drop_all_ea_and_fsa () |
| remove all EA and FSA (they get flagged as "partial" if they had "full" status | |
| bool | is_subset_of (const catalogue &ref) const |
| check whether all inode existing in the "this" and ref have the same attributes | |
| void | reset_dump () const |
| before dumping the catalogue, need to set all hardlinked inode they have not been saved once | |
| void | dump (const pile_descriptor &pdesc) const |
| write down the whole catalogue to file | |
| entree_stats | get_stats () const |
| bool | is_empty () const |
| whether the catalogue is empty or not | |
| const cat_directory * | get_contenu () const |
| const label & | get_data_name () const |
| void | set_data_name (const label &val) |
| datetime | get_root_dir_last_modif () const |
| void | launch_recursive_has_changed_update () const |
| recursive evaluation of directories that have changed (make the cat_directory::get_recurisve_has_changed() method of entry in this catalogue meaningful) | |
| void | set_all_mirage_s_inode_wrote_field_to (bool val) const |
| recursive setting of mirage inode_wrote flag | |
| datetime | get_root_mtime () const |
| void | reset_all () |
| reset all pointers to the root (a bit better than reset_add() + reset_read() + reset_compare() + reset_sub_read()) | |
| void | set_to_unsaved_data_and_FSA () |
| void | change_location (const pile_descriptor &pdesc) |
| change location where to find EA, FSA and DATA for all the objects of the catalogue | |
| void | transfer_delta_signatures (const pile_descriptor &destination, bool sequential_read, bool build, const mask &delta_mask, const infinint &delta_sig_min_size, const delta_sig_block_size &signature_block_size) |
| copy delta signatures to the given stack and update the cat_file objects accordingly | |
| void | drop_delta_signatures () |
| remove delta signature from the catalogue object as if they had never been calculated | |
| bool | has_in_place () const |
| returns whether an in-place path is stored in the catalogue | |
| bool | get_in_place (path &arg) const |
| get the in_place path when available | |
| virtual void | set_in_place (const path &arg) |
| set the in_place path for recording in the archive | |
| virtual void | clear_in_place () |
| clear the in_place path | |
Public Member Functions inherited from libdar::mem_ui | |
| mem_ui (const std::shared_ptr< user_interaction > &dialog) | |
| constructor | |
| mem_ui (const mem_ui &ref)=default | |
| the copy constructor | |
| mem_ui (mem_ui &&ref) noexcept=default | |
| the move constructor | |
| mem_ui & | operator= (const mem_ui &ref)=default |
| assignement operator | |
| mem_ui & | operator= (mem_ui &&ref) noexcept=default |
| move operator | |
| virtual | ~mem_ui () noexcept(false) |
| destructor | |
Protected Member Functions | |
| entree_stats & | access_stats () |
| void | copy_detruits_from (const catalogue &ref) |
| const cat_eod * | get_r_eod_address () const |
| void | swap_stuff (catalogue &ref) |
Protected Member Functions inherited from libdar::mem_ui | |
| user_interaction & | get_ui () const |
| get access to the user_interaction object | |
| std::shared_ptr< user_interaction > | get_pointer () const |
| get access to the shared_ptr pointing to the user_interaction | |
Private Member Functions | |
| void | partial_copy_from (const catalogue &ref) |
| void | detruire () |
Private Attributes | |
| cat_directory * | contenu |
| catalogue contents | |
| path | out_compare |
| stores the missing directory structure, when extracting | |
| cat_directory * | current_compare |
| points to the current directory when extracting | |
| cat_directory * | current_add |
| points to the directory where to add the next file with add_file; | |
| cat_directory * | current_read |
| points to the directory where the next item will be read | |
| path * | sub_tree |
| path to sub_tree | |
| signed int | sub_count |
| count the depth in of read routine in the sub_tree | |
| entree_stats | stats |
| statistics catalogue contents | |
| label | ref_data_name |
| name of the archive where is located the data | |
| path | in_place |
| path of the directory used for root of the backup (at the time of the backup) | |
| escape * | faked_escape |
| used when reading an archive with the help of an isolated catalog to keep trace of the sequential read mode if any | |
Static Private Attributes | |
| static const cat_eod | r_eod |
| needed to return eod reference, without taking risk of saturating memory | |
| static const U_I | CAT_CRC_SIZE |
the catalogue class which gather all objects contained in a give archive
Definition at line 59 of file catalogue.hpp.
|
inline |
Definition at line 72 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 76 of file catalogue.hpp.
|
inlineprotected |
Definition at line 261 of file catalogue.hpp.
|
inline |
remove all EA and FSA (they get flagged as "partial" if they had "full" status
Definition at line 181 of file catalogue.hpp.
References contenu, and libdar::cat_directory::remove_all_ea_and_fsa().
|
inlinevirtual |
Definition at line 131 of file catalogue.hpp.
|
inline |
Definition at line 200 of file catalogue.hpp.
|
inline |
Definition at line 138 of file catalogue.hpp.
|
inline |
Definition at line 95 of file catalogue.hpp.
|
inline |
Definition at line 202 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 130 of file catalogue.hpp.
| bool libdar::catalogue::get_in_place | ( | path & | arg | ) | const |
get the in_place path when available
| [out] | arg | value of the in_place path |
|
inlineprotected |
Definition at line 264 of file catalogue.hpp.
|
inline |
Definition at line 205 of file catalogue.hpp.
|
inline |
Definition at line 213 of file catalogue.hpp.
|
inline |
Definition at line 195 of file catalogue.hpp.
|
inline |
returns whether an in-place path is stored in the catalogue
Definition at line 244 of file catalogue.hpp.
References in_place, and libdar::path::is_absolute().
|
inline |
whether the catalogue is empty or not
Definition at line 198 of file catalogue.hpp.
References contenu, and libdar::cat_directory::is_empty().
| bool libdar::catalogue::is_subset_of | ( | const catalogue & | ref | ) | const |
check whether all inode existing in the "this" and ref have the same attributes
|
inline |
recursive evaluation of directories that have changed (make the cat_directory::get_recurisve_has_changed() method of entry in this catalogue meaningful)
Definition at line 208 of file catalogue.hpp.
References contenu, and libdar::cat_directory::recursive_has_changed_update().
|
inlinevirtual |
catalogue extension routines for escape sequence
Definition at line 120 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 122 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 129 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 123 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 121 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 124 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 126 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 127 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 128 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 125 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 111 of file catalogue.hpp.
|
inline |
recursive setting of mirage inode_wrote flag
Definition at line 211 of file catalogue.hpp.
References contenu, and set_all_mirage_s_inode_wrote_field_to().
Referenced by set_all_mirage_s_inode_wrote_field_to().
|
inline |
Definition at line 203 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 132 of file catalogue.hpp.
|
inline |
Definition at line 218 of file catalogue.hpp.
|
protected |
invert the data tree memory management responsibility pointed to by "contenu" pointers between the current catalogue and the catalogue given in argument.
| void libdar::catalogue::transfer_delta_signatures | ( | const pile_descriptor & | destination, |
| bool | sequential_read, | ||
| bool | build, | ||
| const mask & | delta_mask, | ||
| const infinint & | delta_sig_min_size, | ||
| const delta_sig_block_size & | signature_block_size ) |
copy delta signatures to the given stack and update the cat_file objects accordingly
| [in] | destination | where to drop delta signatures |
| [in] | sequential_read | whether we read the archive in sequential mode |
| [in] | build | if set and delta signature is not present but data is available for a file, calculate the delta sig |
| [in] | delta_mask | defines what files to calculate delta signature for when build is set to true |
| [in] | delta_sig_min_size | minimum size below which to never calculate delta signatures |
| [in] | signature_block_size | block size to use for computing delta signatures |
copy from ref missing files in "this" and mark then as "not_saved" (no change since reference)
in case of abortion, completes missing files as if what could not be inspected had not changed since the reference was done aborting_last_etoile is the highest etoile reference withing "this" current object.
add into "this" detruit object corresponding to object of ref absent in "this"
|
staticprivate |
Definition at line 290 of file catalogue.hpp.
|
private |
catalogue contents
Definition at line 274 of file catalogue.hpp.
Referenced by drop_all_ea_and_fsa(), is_empty(), launch_recursive_has_changed_update(), and set_all_mirage_s_inode_wrote_field_to().
|
mutableprivate |
points to the directory where to add the next file with add_file;
Definition at line 277 of file catalogue.hpp.
|
mutableprivate |
points to the current directory when extracting
Definition at line 276 of file catalogue.hpp.
|
mutableprivate |
points to the directory where the next item will be read
Definition at line 278 of file catalogue.hpp.
|
private |
used when reading an archive with the help of an isolated catalog to keep trace of the sequential read mode if any
Definition at line 284 of file catalogue.hpp.
|
private |
path of the directory used for root of the backup (at the time of the backup)
Definition at line 283 of file catalogue.hpp.
Referenced by has_in_place().
|
mutableprivate |
stores the missing directory structure, when extracting
Definition at line 275 of file catalogue.hpp.
|
staticprivate |
needed to return eod reference, without taking risk of saturating memory
Definition at line 289 of file catalogue.hpp.
|
private |
name of the archive where is located the data
Definition at line 282 of file catalogue.hpp.
|
private |
statistics catalogue contents
Definition at line 281 of file catalogue.hpp.
|
mutableprivate |
count the depth in of read routine in the sub_tree
Definition at line 280 of file catalogue.hpp.
|
private |
path to sub_tree
Definition at line 279 of file catalogue.hpp.