![]() |
Disk ARchive
2.6.8
Full featured and portable backup and archiving tool
|
the cat_directory inode class More...
#include <cat_directory.hpp>
Inherits libdar::cat_inode.
Inherited by libdar::filesystem_restore::stack_dir_t.
Public Member Functions | |
cat_directory (const infinint &xuid, const infinint &xgid, U_16 xperm, const datetime &last_access, const datetime &last_modif, const datetime &last_change, const std::string &xname, const infinint &device) | |
cat_directory (const std::shared_ptr< user_interaction > &dialog, const smart_pointer< pile_descriptor > &pdesc, const archive_version &reading_ver, saved_status saved, entree_stats &stats, std::map< infinint, cat_etoile * > &corres, compression default_algo, bool lax, bool only_detruit, bool small) | |
cat_directory (const cat_directory &ref) | |
cat_directory (cat_directory &&ref) noexcept | |
cat_directory & | operator= (const cat_directory &ref) |
cat_directory & | operator= (cat_directory &&ref) noexcept |
virtual bool | operator== (const cat_entree &ref) const override |
attention this compares only the directories themselves, not the list of their children | |
void | add_children (cat_nomme *r) |
bool | has_children () const |
void | reset_read_children () const |
void | end_read () const |
bool | read_children (const cat_nomme *&r) const |
void | tail_to_read_children () |
void | remove (const std::string &name) |
remove the given entry from the catalogue More... | |
cat_directory * | get_parent () const |
bool | search_children (const std::string &name, const cat_nomme *&ref) const |
virtual unsigned char | signature () const override |
inherited class signature | |
virtual std::string | get_description () const override |
inherited class designation | |
bool | get_recursive_has_changed () const |
detemine whether some data has changed since archive of reference in this cat_directory or subdirectories | |
void | recursive_has_changed_update () const |
ask recursive update for the recursive_has_changed field | |
infinint | get_dir_size () const |
get the number of "cat_nomme" entry directly containted in this cat_directory (no recursive call) | |
infinint | get_tree_size () const |
get then number of "cat_nomme" entry contained in this cat_directory and subdirectories (recursive call) | |
infinint | get_tree_ea_num () const |
get the number of entry having some EA set in the cat_directory tree (recursive call) | |
infinint | get_tree_mirage_num () const |
get the number of entry that are hard linked inode (aka mirage in dar implementation) (recursive call) | |
void | get_etiquettes_found_in_tree (std::map< infinint, infinint > &already_found) const |
bool | is_empty () const |
whether this cat_directory is empty or not | |
void | remove_all_mirages_and_reduce_dirs () |
recursively remove all mirage entries | |
void | set_all_mirage_s_inode_wrote_field_to (bool val) const |
recursively set all mirage inode_wrote flag | |
void | set_all_mirage_s_inode_dumped_field_to (bool val) const |
set the value of inode_dumped for all mirage (recusively) | |
virtual cat_entree * | clone () const override |
a way to copy the exact type of an object even if pointed to by a parent class pointer | |
const infinint & | get_size () const |
const infinint & | get_storage_size () const |
void | recursively_set_to_unsaved_data_and_FSA () |
virtual void | change_location (const smart_pointer< pile_descriptor > &pdesc) override |
overwrite virtual method of cat_entree to propagate the action to all entries of the directory tree | |
![]() | |
cat_inode (const infinint &xuid, const infinint &xgid, U_16 xperm, const datetime &last_access, const datetime &last_modif, const datetime &last_change, const std::string &xname, const infinint &device) | |
flag used to only consider certain fields when comparing/restoring inodes | |
cat_inode (const std::shared_ptr< user_interaction > &dialog, const smart_pointer< pile_descriptor > &pdesc, const archive_version &reading_ver, saved_status saved, bool small) | |
cat_inode (const cat_inode &ref) | |
cat_inode (cat_inode &&ref) noexcept | |
cat_inode & | operator= (const cat_inode &ref) |
cat_inode & | operator= (cat_inode &&ref) noexcept |
const infinint & | get_uid () const |
const infinint & | get_gid () const |
U_16 | get_perm () const |
datetime | get_last_access () const |
datetime | get_last_modif () const |
void | set_last_access (const datetime &x_time) |
void | set_last_modif (const datetime &x_time) |
infinint | get_device () const |
bool | same_as (const cat_inode &ref) const |
bool | is_more_recent_than (const cat_inode &ref, const infinint &hourshift) const |
virtual bool | has_changed_since (const cat_inode &ref, const infinint &hourshift, comparison_fields what_to_check) const |
void | compare (const cat_inode &other, const mask &ea_mask, comparison_fields what_to_check, const infinint &hourshift, bool symlink_date, const fsa_scope &scope, bool isolated_mode) const |
do not try to compare pointed to data, EA of FSA (suitable for isolated catalogue) | |
void | ea_set_saved_status (ea_saved_status status) |
ea_saved_status | ea_get_saved_status () const |
void | ea_attach (ea_attributs *ref) |
const ea_attributs * | get_ea () const |
the returned value is the address of an existing file of the cat_inode object and shall not be deleted by the caller | |
void | ea_detach () const |
infinint | ea_get_size () const |
void | ea_set_offset (const infinint &pos) |
bool | ea_get_offset (infinint &pos) const |
void | ea_set_crc (const crc &val) |
void | ea_get_crc (const crc *&ptr) const |
the argument is set to point to an allocated crc object owned by this "cat_inode" object, this reference stays valid while the "cat_inode" object exists and MUST NOT be deleted by the caller in any case | |
bool | ea_get_crc_size (infinint &val) const |
returns true if crc is know and puts its width in argument | |
datetime | get_last_change () const |
void | set_last_change (const datetime &x_time) |
bool | has_last_change () const |
void | fsa_set_saved_status (fsa_saved_status status) |
fsa_saved_status | fsa_get_saved_status () const |
fsa_scope | fsa_get_families () const |
gives the set of FSA family recorded for that inode | |
void | fsa_attach (filesystem_specific_attribute_list *ref) |
void | fsa_partial_attach (const fsa_scope &val) |
const filesystem_specific_attribute_list * | get_fsa () const |
void | fsa_detach () const |
infinint | fsa_get_size () const |
void | fsa_set_offset (const infinint &pos) |
bool | fsa_get_offset (infinint &pos) const |
void | fsa_set_crc (const crc &val) |
void | fsa_get_crc (const crc *&ptr) const |
bool | fsa_get_crc_size (infinint &val) const |
![]() | |
cat_nomme (const std::string &name, saved_status arg) | |
cat_nomme (const smart_pointer< pile_descriptor > &pdesc, bool small, saved_status val) | |
cat_nomme (const cat_nomme &ref)=default | |
cat_nomme (cat_nomme &&ref) noexcept=default | |
cat_nomme & | operator= (const cat_nomme &ref)=default |
cat_nomme & | operator= (cat_nomme &&ref) noexcept=default |
virtual bool | operator< (const cat_nomme &ref) const |
const std::string & | get_name () const |
void | change_name (const std::string &x) |
bool | same_as (const cat_nomme &ref) const |
![]() | |
cat_entree (saved_status val) | |
setup an object when read from filesystem | |
cat_entree (const smart_pointer< pile_descriptor > &pdesc, bool small, saved_status val) | |
setup an object when read from an archive More... | |
cat_entree (const cat_entree &ref)=default | |
cat_entree (cat_entree &&ref) noexcept=default | |
cat_entree & | operator= (const cat_entree &ref)=default |
cat_entree & | operator= (cat_entree &&ref) noexcept=default |
virtual | ~cat_entree () noexcept(false) |
destructor | |
bool | operator!= (const cat_entree &ref) const |
bool | same_as (const cat_entree &ref) const |
return true of the two objects would generate the same entry on filsystem More... | |
void | dump (const pile_descriptor &pdesc, bool small) const |
write down the object information to a stack More... | |
void | specific_dump (const pile_descriptor &pdesc, bool small) const |
this call gives an access to inherited_dump More... | |
virtual void | post_constructor (const pile_descriptor &pdesc) |
let inherited classes build object's data after CRC has been read from file in small read mode More... | |
saved_status | get_saved_status () const |
obtain the saved status of the object | |
void | set_saved_status (saved_status x) |
modify the saved_status of the object | |
void | set_list_entry (const slice_layout *sly, bool fetch_ea, list_entry &ent) const |
setup a list_entry object relative to the current cat_entree object More... | |
Protected Member Functions | |
virtual void | inherited_dump (const pile_descriptor &pdesc, bool small) const override |
true if object has been created by sequential reading of an archive | |
![]() | |
virtual void | sub_compare (const cat_inode &other, bool isolated_mode) const |
bool | get_small_read () const |
![]() | |
pile * | get_pile () const |
stack used to read object from (nullptr is returned for object created from filesystem) | |
compressor * | get_compressor_layer () const |
compressor generic_file relative methods More... | |
escape * | get_escape_layer () const |
escape generic_file relative methods More... | |
generic_file * | get_read_cat_layer (bool small) const |
return the adhoc layer in the stack to read from the catalogue objects (except the EA, FSA or Data part) | |
Private Member Functions | |
void | init () noexcept |
void | clear () |
void | recursive_update_sizes () const |
void | recursive_flag_size_to_update () const |
void | erase_ordered_fils (std::deque< cat_nomme * >::const_iterator debut, std::deque< cat_nomme * >::const_iterator fin) |
Private Attributes | |
infinint | x_size |
infinint | x_storage_size |
bool | updated_sizes |
cat_directory * | parent |
std::deque< cat_nomme * > | ordered_fils |
std::deque< cat_nomme * >::const_iterator | it |
next entry to be returned by read_children | |
bool | recursive_has_changed |
Static Private Attributes | |
static const cat_eod | fin |
Additional Inherited Members | |
![]() | |
static cat_entree * | read (const std::shared_ptr< user_interaction > &dialog, const smart_pointer< pile_descriptor > &f, const archive_version &reading_ver, entree_stats &stats, std::map< infinint, cat_etoile * > &corres, compression default_algo, bool lax, bool only_detruit, bool small) |
read and create an object of inherited class of class cat_entree More... | |
the cat_directory inode class
Definition at line 51 of file cat_directory.hpp.
void libdar::cat_directory::remove | ( | const std::string & | name | ) |
remove the given entry from the catalogue