Disk ARchive  2.4.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Public Types | Public Member Functions
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.

List of all members.

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 ()

Detailed Description

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

Definition at line 284 of file src/libdar/filesystem.hpp.


Member Function Documentation

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 332 of file src/libdar/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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines