26#ifndef FILESYSTEM_HARD_LINK_WRITE_HPP
27#define FILESYSTEM_HARD_LINK_WRITE_HPP
57 class filesystem_hard_link_write :
protected mem_ui
63 filesystem_hard_link_write(
const std::shared_ptr<user_interaction> & dialog):
mem_ui(dialog) { corres_write.clear(); };
64 filesystem_hard_link_write(
const filesystem_hard_link_write & ref) =
delete;
65 filesystem_hard_link_write(filesystem_hard_link_write && ref) =
delete;
66 filesystem_hard_link_write & operator = (
const filesystem_hard_link_write & ref) =
delete;
67 filesystem_hard_link_write & operator = (filesystem_hard_link_write && ref) =
delete;
68 ~filesystem_hard_link_write() =
default;
70 void write_hard_linked_target_if_not_set(
const cat_mirage *ref,
const std::string & chemin);
85 void corres_reset() { corres_write.clear(); };
105 const std::string & spot,
106 const mask & ea_mask);
125 std::map <infinint, corres_ino_ea> corres_write;
include file gathering all entree found in a catalogue
here is defined the classe used to manage catalogue of archives
the hard link implementation, cat_mirage is the named entry owned by a directory it points to a commo...
the base class for all entry that have a name
the class ea_attributs manages the set of EA that can be associated to an inode
bool raw_clear_ea_set(const cat_nomme *e, const std::string &path)
remove EA set from filesystem's file, allows subsequent raw_set_ea
void clear_corres_if_pointing_to(const infinint &ligne, const std::string &path)
forget everything about a hard link if the path used to build subsequent hard links is the one given ...
bool known_etiquette(const infinint &eti)
bool raw_set_ea(const cat_nomme *e, const ea_attributs &list_ea, const std::string &spot, const mask &ea_mask)
add the given EA matching the given mask to the file pointed to by "e" and spot
void make_file(const cat_nomme *ref, const path &ou)
generate inode or make a hard link on an already restored or existing inode.
the arbitrary large positive integer class
the generic class, parent of all masks
mem_ui(const std::shared_ptr< user_interaction > &dialog)
constructor
the class path is here to manipulate paths in the Unix notation: using'/'
include macro defined by the configure script and some specific additional ones
libdar namespace encapsulate all libdar symbols
filesystem specific attributes available families and fsa_scope definition
switch module to limitint (32 ou 64 bits integers) or infinint