Disk ARchive  2.4.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Types | Public Member Functions | List of all members
libdar::filesystem_restore Class Reference

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, inode::comparison_fields what_to_check, bool x_warn_remove_no_match, bool empty, const crit_action *x_overwrite, bool x_only_overwrite)
 constructor
 
 filesystem_restore (const filesystem_restore &ref)
 copy constructor is forbidden (throws an exception)
 
const filesystem_restoreoperator= (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 entree *x, action_done_for_data &data_restored, bool &ea_restored, bool &data_created, bool &hard_link)
 restore a libdar object to a filesystem entry both data and EA
 
void ignore_overwrite_restrictions_for_next_write ()
 

Additional Inherited Members

Detailed Description

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

Definition at line 281 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 329 of file filesystem.hpp.

void libdar::filesystem_restore::write ( const entree x,
action_done_for_data &  data_restored,
bool &  ea_restored,
bool &  data_created,
bool &  hard_link 
)

restore a libdar object to a filesystem entry both data and EA

Parameters
[in]xis the libdar object to restore
[out]data_restoredtrue 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_restoredtrue if EA has been restored, false if either no EA to restore or if forbidden by overwriting policy
[out]data_createdtrue if data has been restored leading to file creation, false in any other case
[out]hard_linktrue when data_restored is true and only a hard link to an already existing inode has been created
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: