![]() |
Disk ARchive 2.7.14
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.
Inherited by libdar::escape_catalogue.
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 () |
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 () |
void | add (cat_entree *ref) |
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 | |
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 | |
![]() | |
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 | |
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) |
![]() | |
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 | |
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) | |
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.
Definition at line 72 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 76 of file catalogue.hpp.
|
inlineprotected |
Definition at line 257 of file catalogue.hpp.
Definition at line 131 of file catalogue.hpp.
|
inline |
Definition at line 196 of file catalogue.hpp.
|
inline |
Definition at line 137 of file catalogue.hpp.
|
inline |
Definition at line 95 of file catalogue.hpp.
Definition at line 198 of file catalogue.hpp.
|
inlinevirtual |
Definition at line 130 of file catalogue.hpp.
get the in_place path when available
[out] | arg | value of the in_place path |
Definition at line 260 of file catalogue.hpp.
|
inline |
Definition at line 201 of file catalogue.hpp.
|
inline |
Definition at line 209 of file catalogue.hpp.
|
inline |
Definition at line 191 of file catalogue.hpp.
|
inline |
returns whether an in-place path is stored in the catalogue
Definition at line 240 of file catalogue.hpp.
References in_place, and libdar::path::is_absolute().
|
inline |
whether the catalogue is empty or not
Definition at line 194 of file catalogue.hpp.
References contenu, and libdar::cat_directory::is_empty().
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 204 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.
Definition at line 111 of file catalogue.hpp.
recursive setting of mirage inode_wrote flag
Definition at line 207 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().
Definition at line 199 of file catalogue.hpp.
|
inline |
Definition at line 214 of file catalogue.hpp.
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 285 of file catalogue.hpp.
|
private |
catalogue contents
Definition at line 270 of file catalogue.hpp.
Referenced by 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 273 of file catalogue.hpp.
|
mutableprivate |
points to the current directory when extracting
Definition at line 272 of file catalogue.hpp.
|
mutableprivate |
points to the directory where the next item will be read
Definition at line 274 of file catalogue.hpp.
|
private |
path of the directory used for root of the backup (at the time of the backup)
Definition at line 279 of file catalogue.hpp.
Referenced by has_in_place().
|
mutableprivate |
stores the missing directory structure, when extracting
Definition at line 271 of file catalogue.hpp.
needed to return eod reference, without taking risk of saturating memory
Definition at line 284 of file catalogue.hpp.
|
private |
name of the archive where is located the data
Definition at line 278 of file catalogue.hpp.
|
private |
statistics catalogue contents
Definition at line 277 of file catalogue.hpp.
count the depth in of read routine in the sub_tree
Definition at line 276 of file catalogue.hpp.
|
private |
path to sub_tree
Definition at line 275 of file catalogue.hpp.