![]() |
Disk ARchive 2.7.18
Full featured and portable backup and archiving tool
|
receive the flow of inode from the restoration filtering routing and promotes these to real filesystem objects More...
#include <filesystem_restore.hpp>
Inherits libdar::filesystem_hard_link_write, and libdar::filesystem_hard_link_read.
Public Types | |
| using | action_done_for_data |
Public Member Functions | |
| filesystem_restore (const std::shared_ptr< user_interaction > &dialog, const path &root, bool x_warn_overwrite, bool x_info_details, const mask &x_ea_mask, comparison_fields what_to_check, bool x_warn_remove_no_match, bool empty, const crit_action *x_overwrite, bool x_only_overwrite, const fsa_scope &scope) | |
| constructor | |
| filesystem_restore (const filesystem_restore &ref)=delete | |
| copy constructor is forbidden | |
| filesystem_restore (filesystem_restore &&ref)=delete | |
| move constructor is forbidden | |
| filesystem_restore & | operator= (const filesystem_restore &ref)=delete |
| assignment operator is forbidden | |
| filesystem_restore & | operator= (filesystem_restore &&ref)=delete |
| move operator is forbidden | |
| ~filesystem_restore () | |
| destructor | |
| void | reset_write () |
| reset the writing process for the current object | |
| void | write (const cat_entree *x, action_done_for_data &data_restored, bool &ea_restored, bool &data_created, bool &hard_link, bool &fsa_restored) |
| restore a libdar object to a filesystem entry both data and EA | |
| void | ignore_overwrite_restrictions_for_next_write () |
| ask for no warning or user interaction for the next write operation | |
Public Member Functions inherited from libdar::filesystem_hard_link_write | |
| filesystem_hard_link_write (const std::shared_ptr< user_interaction > &dialog) | |
| filesystem_hard_link_write (const filesystem_hard_link_write &ref)=delete | |
| filesystem_hard_link_write (filesystem_hard_link_write &&ref)=delete | |
| filesystem_hard_link_write & | operator= (const filesystem_hard_link_write &ref)=delete |
| filesystem_hard_link_write & | operator= (filesystem_hard_link_write &&ref)=delete |
| void | write_hard_linked_target_if_not_set (const cat_mirage *ref, const std::string &chemin) |
| bool | known_etiquette (const infinint &eti) |
| 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 in argument | |
Public Member Functions inherited from 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) | |
| 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) |
Private Member Functions | |
| void | detruire () |
| void | restore_stack_dir_ownership () |
| user_interaction & | get_ui () const |
| std::shared_ptr< user_interaction > | get_pointer () const |
| void | action_over_remove (const cat_inode *in_place, const cat_detruit *to_be_added, const std::string &spot, over_action_data action) |
| perform action due to the overwriting policy when the "to be added" entry is a detruit object | |
| void | action_over_data (const cat_inode *in_place, const cat_nomme *to_be_added, const std::string &spot, over_action_data action, action_done_for_data &data_done) |
| perform action for data due to the overwriting policy when the "to be added" entry is not a cat_detruit | |
| bool | action_over_ea (const cat_inode *in_place, const cat_nomme *to_be_added, const std::string &spot, over_action_ea action) |
| perform action for EA due to overwriting policy | |
| bool | action_over_fsa (const cat_inode *in_place, const cat_nomme *to_be_added, const std::string &spot, over_action_ea action) |
| perform action for FSA due to overwriting policy | |
Private Attributes | |
| path * | fs_root |
| bool | info_details |
| mask * | ea_mask |
| bool | warn_overwrite |
| comparison_fields | what_to_check |
| bool | warn_remove_no_match |
| std::deque< stack_dir_t > | stack_dir |
| path * | current_dir |
| bool | empty |
| bool | ignore_over_restricts |
| const crit_action * | overwrite |
| bool | only_overwrite |
Additional Inherited Members | |
Protected Member Functions inherited from libdar::filesystem_hard_link_write | |
| void | corres_reset () |
| void | make_file (const cat_nomme *ref, const path &ou) |
| generate inode or make a hard link on an already restored or existing inode. | |
| 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 | |
| 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 | |
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 | |
| 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 | |
Protected Member Functions inherited from libdar::filesystem_hard_link_read | |
| 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 |
receive the flow of inode from the restoration filtering routing and promotes these to real filesystem objects
Definition at line 58 of file filesystem_restore.hpp.
| using libdar::filesystem_restore::action_done_for_data |
Definition at line 92 of file filesystem_restore.hpp.
|
inline |
destructor
Definition at line 87 of file filesystem_restore.hpp.
|
inlineprivate |
Definition at line 155 of file filesystem_restore.hpp.
|
inlineprivate |
Definition at line 154 of file filesystem_restore.hpp.
|
inline |
ask for no warning or user interaction for the next write operation
Definition at line 123 of file filesystem_restore.hpp.
| void libdar::filesystem_restore::write | ( | const cat_entree * | x, |
| action_done_for_data & | data_restored, | ||
| bool & | ea_restored, | ||
| bool & | data_created, | ||
| bool & | hard_link, | ||
| bool & | fsa_restored ) |
restore a libdar object to a filesystem entry both data and EA
| [in] | x | is the libdar object to restore |
| [out] | data_restored | true if data has been restored (inode or hard link created), false if either there is no data to restore or if this action is forbidden by the overwriting policy |
| [out] | ea_restored | true if EA has been restored, false if either no EA to restore or if forbidden by overwriting policy |
| [out] | data_created | true if data has been restored leading to file creation, false in any other case |
| [out] | hard_link | true when data_restored is true and only a hard link to an already existing inode has been created |
| [out] | fsa_restored | true if FSA has been restored, false if either no FSA to restore or if forbidden by overwriting policy |
|
private |
Definition at line 146 of file filesystem_restore.hpp.
|
private |
Definition at line 141 of file filesystem_restore.hpp.
|
private |
Definition at line 147 of file filesystem_restore.hpp.
|
private |
Definition at line 139 of file filesystem_restore.hpp.
|
private |
Definition at line 148 of file filesystem_restore.hpp.
|
private |
Definition at line 140 of file filesystem_restore.hpp.
|
private |
Definition at line 150 of file filesystem_restore.hpp.
|
private |
Definition at line 149 of file filesystem_restore.hpp.
|
private |
Definition at line 145 of file filesystem_restore.hpp.
|
private |
Definition at line 142 of file filesystem_restore.hpp.
|
private |
Definition at line 144 of file filesystem_restore.hpp.
|
private |
Definition at line 143 of file filesystem_restore.hpp.