Disk ARchive  2.7.14
Full featured and portable backup and archiving tool
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
libdar::filesystem_hard_link_read Class Reference

keep trace of hard links when reading the filesystem More...

#include <filesystem_hard_link_read.hpp>

+ Inheritance diagram for libdar::filesystem_hard_link_read:
+ Collaboration diagram for libdar::filesystem_hard_link_read:

Public Member Functions

 filesystem_hard_link_read (const std::shared_ptr< user_interaction > &dialog, bool x_furtive_read_mode, const fsa_scope &scope)
 
 filesystem_hard_link_read (const filesystem_hard_link_read &ref)=delete
 
 filesystem_hard_link_read (filesystem_hard_link_read &&ref)=delete
 
filesystem_hard_link_readoperator= (const filesystem_hard_link_read &ref)=delete
 
filesystem_hard_link_readoperator= (filesystem_hard_link_read &&ref)=delete
 
const infinintget_last_etoile_ref () const
 get the last assigned number for a hard linked inode
 
const fsa_scope get_fsa_scope () const
 provide the FSA scope used by the object
 
void zeroing_negative_dates_without_asking ()
 don't ask before zeroing negative date just warn user
 
void set_ignored_symlinks_list (const std::set< std::string > &x_ignored_symlinks)
 

Protected Member Functions

void corres_reset ()
 reset the whole list of hard linked inodes (hard linked inode stay alive but are no more referenced by the current object)
 
cat_nommemake_read_entree (const path &lieu, const std::string &name, bool see_hard_link, const mask &ea_mask)
 
bool get_ask_before_zeroing_neg_dates () const
 
- Protected Member Functions inherited from libdar::mem_ui
user_interactionget_ui () const
 get access to the user_interaction object More...
 
std::shared_ptr< user_interactionget_pointer () const
 get access to the shared_ptr pointing to the user_interaction
 
 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_uioperator= (const mem_ui &ref)=default
 assignement operator More...
 
mem_uioperator= (mem_ui &&ref) noexcept=default
 move operator
 
virtual ~mem_ui () noexcept(false)
 destructor More...
 

Private Member Functions

bool ignore_if_symlink (const std::string &full_path)
 

Private Attributes

std::map< node, couple > corres_read
 
infinint etiquette_counter
 
bool furtive_read_mode
 
fsa_scope sc
 
bool ask_before_zeroing_neg_dates
 
std::set< std::string > ignored_symlinks
 

Detailed Description

keep trace of hard links when reading the filesystem

Definition at line 57 of file filesystem_hard_link_read.hpp.

Member Function Documentation

◆ make_read_entree()

cat_nomme* libdar::filesystem_hard_link_read::make_read_entree ( const path lieu,
const std::string &  name,
bool  see_hard_link,
const mask ea_mask 
)
protected

create and return a libdar object corresponding to one pointed to by its path during this operation, hard linked inode are recorded in a list to be easily pointed to by a new reference to it.

Parameters
lieupath of the file to read
namename of the file to read
see_hard_linkwhether we want to detect hard_link and eventually return a cat_mirage object (not necessary when diffing an archive with filesystem)
ea_maskwhich EA to consider when creating the object

◆ set_ignored_symlinks_list()

void libdar::filesystem_hard_link_read::set_ignored_symlinks_list ( const std::set< std::string > &  x_ignored_symlinks)
inline

let the user define which file to not consider as symlinks

Note
argument is a list of full paths. No mask or special character is taken into account

Definition at line 91 of file filesystem_hard_link_read.hpp.


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