libdar::filesystem_hard_link_read Class Reference
Private

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

`#include <filesystem_hard_link_read.hpp>`

Inherits libdar::mem_ui.

Inherited by libdar::filesystem_backup, libdar::filesystem_diff, and libdar::filesystem_restore.

## 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_read & | operator= (const filesystem_hard_link_read &ref)=delete
filesystem_hard_link_read & | operator= (filesystem_hard_link_read &&ref)=delete
const infinint & | get_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_nomme * | make_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_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 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_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...

## 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

  lieu | path of the file to read
  name | name of the file to read
  see_hard_link | whether we want to detect hard_link and eventually return a cat_mirage object (not necessary when diffing an archive with filesystem)
  ea_mask | which 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:

- filesystem_hard_link_read.hpp