Disk ARchive
2.7.15
Full featured and portable backup and archiving tool
|
the catalogue class which gather all objects contained in a give archive More...
#include <catalogue.hpp>
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" More... | |
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) More... | |
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 More... | |
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 More... | |
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 More... | |
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 More... | |
mem_ui (const mem_ui &ref)=default | |
the copy constructor More... | |
mem_ui (mem_ui &&ref) noexcept=default | |
the move constructor | |
mem_ui & | operator= (const mem_ui &ref)=default |
assignement operator More... | |
mem_ui & | operator= (mem_ui &&ref) noexcept=default |
move operator | |
virtual | ~mem_ui () noexcept(false) |
destructor More... | |
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 More... | |
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.
bool libdar::catalogue::get_in_place | ( | path & | arg | ) | const |
get the in_place path when available
[out] | arg | value of the in_place path |
bool libdar::catalogue::is_subset_of | ( | const catalogue & | ref | ) | const |
check whether all inode existing in the "this" and ref have the same attributes
|
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"