Disk ARchive: libdar::filesystem_hard_link_read Class Reference

| Disk ARchive 2.8.1 Full featured and portable backup and archiving tool

Loading...
Searching...
No Matches
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
std::shared_ptr< user_interaction > | get_pointer () const
| get access to the shared_ptr pointing to the user_interaction
void | change_ui (const std::shared_ptr< user_interaction > &new_dialog)
| change the user_interaction object
| mem_ui (const std::shared_ptr< user_interaction > &dialog)
| constructor
| mem_ui (const mem_ui &ref)=default
| the copy constructor
| mem_ui (mem_ui &&ref) noexcept=default
| the move constructor
mem_ui & | operator= (const mem_ui &ref)=default
| assignement operator
mem_ui & | operator= (mem_ui &&ref) noexcept=default
| move operator
virtual | ~mem_ui () noexcept(false)
| destructor

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