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 | ( |  | ) |

inline protected

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

inline protected

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

inline private

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