| Disk ARchive 2.6.12 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
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
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_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
| 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.

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

  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.

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

- filesystem_hard_link_read.hpp