| Disk ARchive 2.6.11 Full featured and portable backup and archiving tool

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
libdar::cat_directory Class Reference
Private

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
Public Member Functions inherited from libdar::cat_inode
| 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
Public Member Functions inherited from libdar::cat_nomme
| 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
Public Member Functions inherited from libdar::cat_entree
| 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
Protected Member Functions inherited from libdar::cat_inode
virtual void | sub_compare (const cat_inode &other, bool isolated_mode) const
bool | get_small_read () const
Protected Member Functions inherited from libdar::cat_entree
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 Public Member Functions inherited from libdar::cat_entree
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...

## Detailed Description

the cat_directory inode class

Definition at line 51 of file cat_directory.hpp.

## Member Function Documentation

## ◆ remove()

void libdar::cat_directory::remove | ( | const std::string & | name | ) |

remove the given entry from the catalogue

Note
  read_children() is taken into account by this operation, no need to call reset_read_children(), if the argument removed was the one about to be read by read_children() the one following the removed entry will be returned the next time read_children() is invoked.

The documentation for this class was generated from the following file:

- cat_directory.hpp