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

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | List of all members
libdar::filesystem_restore Class Reference
Private

receive the flow of inode from the restoration filtering routing and promotes these to real filesystem objects More...

`#include <filesystem.hpp>`

Inherits libdar::filesystem_hard_link_write, and libdar::filesystem_hard_link_read.

## Public Types
enum | action_done_for_data { done_data_restored, done_no_change_no_data, done_no_change_policy, done_data_removed }

## Public Member Functions
| filesystem_restore (user_interaction &dialog, const path &root, bool x_warn_overwrite, bool x_info_details, const mask &x_ea_mask, cat_inode::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)
| copy constructor is forbidden (throws an exception)
const filesystem_restore & | operator= (const filesystem_restore &ref)
| assignment operator is forbidden (throws an exception)
| ~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 More...
void | ignore_overwrite_restrictions_for_next_write ()
Public Member Functions inherited from libdar::filesystem_hard_link_write
| filesystem_hard_link_write (user_interaction &dialog)
| filesystem_hard_link_write (const filesystem_hard_link_write &ref)
const filesystem_hard_link_write & | operator= (const filesystem_hard_link_write &ref)
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)
Public Member Functions inherited from libdar::on_pool
void * | operator new (size_t n_byte)
void * | operator new (size_t n_byte, const std::nothrow_t &nothrow_value)
void * | operator new[] (size_t n_byte)
void * | operator new[] (size_t n_byte, const std::nothrow_t &nothrow_value)
void * | operator new (size_t n_byte, memory_pool *p)
void * | operator new[] (size_t n_byte, memory_pool *p)
void | operator delete (void *ptr, memory_pool *p)
| this operator is called by the compiler if an exception is throw from the constructor of the allocated object
void | operator delete[] (void *ptr, memory_pool *p)
| this operator is called by the compiler if an exception is throw from the constructor of the allocated objects
void | operator delete (void *ptr)
| this is the usual delete operator, modified to handle allocated objects allocated on a memory pool or not
void | operator delete[] (void *ptr)
| this is the usual delete[] operator, modified to handle allocated objects allocated on a memory pool or not
Public Member Functions inherited from libdar::filesystem_hard_link_read
| filesystem_hard_link_read (user_interaction &dialog, bool x_furtive_read_mode, const fsa_scope &scope)
| filesystem_hard_link_read (const filesystem_hard_link_read &ref)
const filesystem_hard_link_read & | operator= (const filesystem_hard_link_read &ref)
const infinint & | get_last_etoile_ref () const
const fsa_scope | get_fsa_scope () const
| provide the FSA scope used by the object

## 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, bool dir_perm, cat_inode::comparison_fields what_to_check, const fsa_scope &scope)
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 More...
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 More...
Protected Member Functions inherited from libdar::mem_ui
user_interaction & | get_ui () const
| get access to the user_interaction cloned object More...
| mem_ui (const user_interaction &dialog)
| constructor More...
| mem_ui (user_interaction *dialog)
| mem_ui (const mem_ui &ref)
| the copy constructor More...
virtual | ~mem_ui () throw (Ebug)
| destructor More...
const mem_ui & | operator= (const mem_ui &ref)
| assignement operator More...
Protected Member Functions inherited from libdar::on_pool
memory_pool * | get_pool () const
template<class T >
void | meta_new (T *&ptr, size_t num)
template<class T >
void | meta_delete (T *ptr)
void * | operator new (size_t n_byte)
void * | operator new (size_t n_byte, const std::nothrow_t &nothrow_value)
void * | operator new[] (size_t n_byte)
void * | operator new[] (size_t n_byte, const std::nothrow_t &nothrow_value)
void * | operator new (size_t n_byte, memory_pool *p)
void * | operator new[] (size_t n_byte, memory_pool *p)
void | operator delete (void *ptr, memory_pool *p)
| this operator is called by the compiler if an exception is throw from the constructor of the allocated object
void | operator delete[] (void *ptr, memory_pool *p)
| this operator is called by the compiler if an exception is throw from the constructor of the allocated objects
void | operator delete (void *ptr)
| this is the usual delete operator, modified to handle allocated objects allocated on a memory pool or not
void | operator delete[] (void *ptr)
| this is the usual delete[] operator, modified to handle allocated objects allocated on a memory pool or not
Protected Member Functions inherited from libdar::filesystem_hard_link_read
void | corres_reset ()
cat_nomme * | make_read_entree (path &lieu, const std::string &name, bool see_hard_link, const mask &ea_mask)

## Detailed Description

receive the flow of inode from the restoration filtering routing and promotes these to real filesystem objects

Definition at line 294 of file filesystem.hpp.

## Member Function Documentation

void libdar::filesystem_restore::ignore_overwrite_restrictions_for_next_write | ( |  | ) |
| inline

ask for no warning or user interaction for the next write operation

Note
  this is used when a file has been saved several times due to its changes at the time of the backup and is restored in sequential read. Restoring each failed backup would lead to ask each time the actions to take about overwriting... anoying for the user

Definition at line 349 of file filesystem.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

Parameters

  [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

Note
  any failure to restore data or EA that is not due to its absence in "x" nor to an interdiction from the overwriting policy is signaled through an exception.

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

- filesystem.hpp