29#include "../my_config.h" 
   49                               const path & fs_racine,    
 
   50                               bool fs_warn_overwrite,    
 
   53                   bool display_treated_only_dir, 
 
   59                   bool warn_remove_no_match, 
 
   63                   archive_options_extract::t_dirty dirty, 
 
   67                   bool ignore_unix_sockets   
 
   70    extern void filtre_sauvegarde(
const std::shared_ptr<user_interaction> & dialog,
 
   73                                  const pile_descriptor & pdesc,
 
   76                                  const path & fs_racine,
 
   79                  bool display_treated_only_dir,
 
   81                  bool display_finished,
 
   85                                  const mask &compr_mask,
 
   90                  bool furtive_read_mode,
 
   91                  const filesystem_ids & same_fs,
 
   94                  bool cache_directory_tagging,
 
   99                  const infinint & sparse_file_min_size,
 
  100                  const std::string & backup_hook_file_execute,
 
  101                  const mask & backup_hook_file_mask,
 
  104                  const std::string & exclude_by_ea,
 
  105                  bool delta_signature,     
 
  106                  const infinint & delta_sig_min_size, 
 
  107                  const mask & delta_mask,  
 
  109                  bool auto_zeroing_neg_dates,
 
  110                  const std::set<std::string> & ignored_symlinks,
 
  113                  bool never_resave_uncompressed,
 
  114                  bool ref_read_in_seq_mode);
 
  116    extern void filtre_difference(
const std::shared_ptr<user_interaction> & dialog,
 
  120                                  const path & fs_racine,
 
  122                  bool display_treated,
 
  123                  bool display_treated_only_dir,
 
  124                  bool display_skipped,
 
  126                  const mask & ea_mask,
 
  128                  bool furtive_read_mode,
 
  131                  bool compare_symlink_date,
 
  135                  bool auto_zeroing_neg_dates);
 
  137    extern void filtre_test(
const std::shared_ptr<user_interaction> & dialog,
 
  142                bool display_treated,
 
  143                bool display_treated_only_dir,
 
  144                bool display_skipped,
 
  149    extern void filtre_merge(
const std::shared_ptr<user_interaction> & dialog,
 
  151                 const mask & subtree,
 
  152                 const pile_descriptor & pdesc,
 
  157                 bool display_treated,
 
  158                 bool display_treated_only_dir,
 
  159                 bool display_skipped,
 
  162                 const mask & ea_mask,
 
  163                 const mask & compr_mask,
 
  165                 bool keep_compressed,
 
  168                 bool decremental_mode,
 
  169                 const infinint & sparse_file_min_size,
 
  171                 bool delta_signature,
 
  172                 bool build_delta_sig,
 
  173                 const infinint & delta_sig_min_size,
 
  174                 const mask & delta_mask,
 
  176                 bool never_resave_uncompressed);
 
  186                   bool decremental_mode,
 
  196                   const mask & subtree,
 
  201                   bool display_treated,
 
  202                   bool display_skipped,
 
  206                   bool decremental_mode,
 
  217                   const pile_descriptor & pdesc,
 
  220                   bool display_treated,
 
  221                   bool display_treated_only_dir,
 
  222                   const mask & compr_mask,
 
  224                   bool keep_compressed,
 
  225                   const infinint & sparse_file_min_size,
 
  226                   bool delta_signature,
 
  227                   bool build_delta_sig,
 
  228                   const infinint & delta_sig_min_size,
 
  229                   const mask & delta_mask,
 
  234                   bool never_resave_uncompressed);
 
  237    void filtre_sequentially_read_all_catalogue(
catalogue & cat,
 
  238                        const std::shared_ptr<user_interaction> & dialog,
 
this file contains a set of classes used to transmit options to archive operation
here is defined the classe used to manage catalogue of archives
the catalogue class which gather all objects contained in a give archive
the global action for overwriting
the arbitrary large positive integer class
the generic class, parent of all masks
the class path is here to manipulate paths in the Unix notation: using'/'
class used by libdar::archive class to give a summary of treated file during and after an operation
class to be used as parent to provide checkpoints to inherited classes
gather the ids of different filesystem to provide a filter based on filesystem
modified_data_detection
how to detect data has changed when some fields
comparison_fields
how to consider file change during comparison and incremental backup
std::set< fsa_family > fsa_scope
set of fsa families
void filtre_merge_step0(const std::shared_ptr< user_interaction > &dialog, const catalogue *ref1, const catalogue *ref2, statistics &st, bool decremental_mode, crit_action *&decr, const crit_action *&overwrite, bool &abort, thread_cancellation &thr_cancel)
initialize variables used for merging in step1 and step2
void filtre_merge_step1(const std::shared_ptr< user_interaction > &dialog, const mask &filtre, const mask &subtree, catalogue &cat, const catalogue *ref1, const catalogue *ref2, bool info_details, bool display_treated, bool display_skipped, statistics &st, bool make_empty_dir, bool warn_overwrite, bool decremental_mode, crit_action *&decr, const crit_action *&overwrite, bool &abort, thread_cancellation &thr_cancel)
builds a catalogue from two refs with the given policy and filters
void filtre_restore(const std::shared_ptr< user_interaction > &dialog, const mask &filtre, const mask &subtree, const catalogue &cat, const path &fs_racine, bool fs_warn_overwrite, bool info_details, bool display_treated, bool display_treated_only_dir, bool display_skipped, statistics &st, const mask &ea_mask, bool flat, comparison_fields what_to_check, bool warn_remove_no_match, bool empty, bool empty_dir, const crit_action &x_overwrite, archive_options_extract::t_dirty dirty, bool only_deleted, bool not_deleted, const fsa_scope &scope, bool ignore_unix_sockets)
void filtre_merge_step2(const std::shared_ptr< user_interaction > &dialog, const pile_descriptor &pdesc, catalogue &cat, bool info_details, bool display_treated, bool display_treated_only_dir, const mask &compr_mask, const infinint &min_compr_size, bool keep_compressed, const infinint &sparse_file_min_size, bool delta_signature, bool build_delta_sig, const infinint &delta_sig_min_size, const mask &delta_mask, bool &abort, thread_cancellation &thr_cancel, bool repair_mode, const delta_sig_block_size &signature_block_size, bool never_resave_uncompressed)
copies data of "cat" catalogue to the pdesc of a brand-new archive
here lies a collection of mask classes
bool nodump() noexcept
returns whether nodump flag support has been activated at compilation time
libdar namespace encapsulate all libdar symbols
here is the definition of the path class
class pile definition. Used to manage a stack of generic_file objects
class handling access to the data summary of treated files after and during each operation
defines how to calculate delta signature block size based of file size to delta sign
to be able to cancel libdar operation while running in a given thread.