Disk ARchive 2.7.16
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 More...
 
const fsa_scope get_fsa_scope () const
 provide the FSA scope used by the object More...
 
void zeroing_negative_dates_without_asking ()
 don't ask before zeroing negative date just warn user More...
 
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) More...
 
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 More...
 
 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.

Constructor & Destructor Documentation

◆ filesystem_hard_link_read()

libdar::filesystem_hard_link_read::filesystem_hard_link_read ( const std::shared_ptr< user_interaction > &  dialog,
bool  x_furtive_read_mode,
const fsa_scope scope 
)
inline

Definition at line 63 of file filesystem_hard_link_read.hpp.

Member Function Documentation

◆ corres_reset()

void libdar::filesystem_hard_link_read::corres_reset ( )
inlineprotected

reset the whole list of hard linked inodes (hard linked inode stay alive but are no more referenced by the current object)

Definition at line 97 of file filesystem_hard_link_read.hpp.

◆ get_ask_before_zeroing_neg_dates()

bool libdar::filesystem_hard_link_read::get_ask_before_zeroing_neg_dates ( ) const
inlineprotected

Definition at line 108 of file filesystem_hard_link_read.hpp.

◆ get_fsa_scope()

const fsa_scope libdar::filesystem_hard_link_read::get_fsa_scope ( ) const
inline

provide the FSA scope used by the object

Definition at line 83 of file filesystem_hard_link_read.hpp.

◆ get_last_etoile_ref()

const infinint & libdar::filesystem_hard_link_read::get_last_etoile_ref ( ) const
inline

get the last assigned number for a hard linked inode

Definition at line 80 of file filesystem_hard_link_read.hpp.

◆ ignore_if_symlink()

bool libdar::filesystem_hard_link_read::ignore_if_symlink ( const std::string &  full_path)
inlineprivate

Definition at line 143 of file filesystem_hard_link_read.hpp.

◆ 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.

◆ zeroing_negative_dates_without_asking()

void libdar::filesystem_hard_link_read::zeroing_negative_dates_without_asking ( )
inline

don't ask before zeroing negative date just warn user

Definition at line 86 of file filesystem_hard_link_read.hpp.

Member Data Documentation

◆ ask_before_zeroing_neg_dates

bool libdar::filesystem_hard_link_read::ask_before_zeroing_neg_dates
private

Definition at line 138 of file filesystem_hard_link_read.hpp.

◆ corres_read

std::map<node, couple> libdar::filesystem_hard_link_read::corres_read
private

Definition at line 134 of file filesystem_hard_link_read.hpp.

◆ etiquette_counter

infinint libdar::filesystem_hard_link_read::etiquette_counter
private

Definition at line 135 of file filesystem_hard_link_read.hpp.

◆ furtive_read_mode

bool libdar::filesystem_hard_link_read::furtive_read_mode
private

Definition at line 136 of file filesystem_hard_link_read.hpp.

◆ ignored_symlinks

std::set<std::string> libdar::filesystem_hard_link_read::ignored_symlinks
private

Definition at line 139 of file filesystem_hard_link_read.hpp.

◆ sc

fsa_scope libdar::filesystem_hard_link_read::sc
private

Definition at line 137 of file filesystem_hard_link_read.hpp.


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