Disk ARchive  2.4.21
filtre.hpp
Go to the documentation of this file.
1 /*********************************************************************/
2 // dar - disk archive - a backup/restoration program
3 // Copyright (C) 2002-2052 Denis Corbin
4 //
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 //
19 // to contact the author : http://dar.linux.free.fr/email.html
20 /*********************************************************************/
21 
25 
26 #ifndef FILTRE_HPP
27 #define FILTRE_HPP
28 
29 #include "../my_config.h"
30 #include <vector>
31 #include "mask.hpp"
32 #include "pile.hpp"
33 #include "catalogue.hpp"
34 #include "path.hpp"
35 #include "statistics.hpp"
36 #include "criterium.hpp"
37 #include "archive_options.hpp"
38 
39 namespace libdar
40 {
41 
44 
45  extern void filtre_restore(user_interaction & dialog, //< for user interaction
46  const mask &filtre, //< which filename to restore
47  const mask & subtree, //< which directory and paths to restore
48  catalogue & cat, //< table of content to extract information from
49  const path & fs_racine, //< root path under which to restore directiry tree and files
50  bool fs_warn_overwrite, //< whether to warn before overwriting (to be replaced by overwriting policy)
51  bool info_details, //< whether to be verbose
52  statistics & st, //< statistics result about the operation
53  const mask & ea_mask, //< defines EA to restore/not restore
54  bool flat, //< if true, directories are not restores, all files are placed directly at in fs_racine directory
55  inode::comparison_fields what_to_check, //< which file properties to restore
56  bool warn_remove_no_match, //< wether to warn for file to remove not matching the expected type
57  bool empty, //< dry-run execution
58  bool display_skipped, //< whether to display skipped files
59  bool empty_dir, //< whether to restore directories that do contain any file to restore
60  const crit_action & x_overwrite, //< how and whether to overwrite files
61  archive_options_extract::t_dirty dirty, //< whether to restore dirty files
62  bool only_deleted, //< whether to only consider deleted files
63  bool not_deleted); //< <wether to consider deleted files
64 
65  extern void filtre_sauvegarde(user_interaction & dialog,
66  const mask &filtre,
67  const mask &subtree,
68  pile & stack,
69  catalogue & cat,
70  catalogue &ref,
71  const path & fs_racine,
72  bool info_details,
73  statistics & st,
74  bool make_empty_dir,
75  const mask & ea_mask,
76  const mask &compr_mask,
77  const infinint & min_compr_size,
78  bool nodump,
79  const infinint & hourshift,
80  bool alter_time,
81  bool furtive_read_mode,
82  bool same_fs,
83  inode::comparison_fields what_to_check,
84  bool snapshot,
85  bool cache_directory_tagging,
86  bool display_skipped,
87  bool security_check,
88  const infinint & repeat_count,
89  const infinint & repeat_byte,
90  const infinint & fixed_date,
91  const infinint & sparse_file_min_size,
92  const std::string & backup_hook_file_execute,
93  const mask & backup_hook_file_mask,
94  bool ignore_unknown);
95 
96  extern void filtre_difference(user_interaction & dialog,
97  const mask &filtre,
98  const mask &subtree,
99  catalogue & cat,
100  const path & fs_racine,
101  bool info_details,
102  statistics & st,
103  const mask & ea_mask,
104  bool alter_time,
105  bool furtive_read_mode,
106  inode::comparison_fields what_to_check,
107  bool display_skipped,
108  const infinint & hourshift,
109  bool compare_symlink_date);
110 
111  extern void filtre_test(user_interaction & dialog,
112  const mask &filtre,
113  const mask &subtree,
114  catalogue & cat,
115  bool info_details,
116  bool empty,
117  statistics & st,
118  bool display_skipped);
119 
120  extern void filtre_isolate(user_interaction & dialog,
121  catalogue & cat,
122  catalogue & ref,
123  bool info_details);
124 
125  extern void filtre_merge(user_interaction & dialog,
126  const mask & filtre,
127  const mask & subtree,
128  pile & stack,
129  catalogue & cat,
130  catalogue * ref1,
131  catalogue * ref2,
132  bool info_details,
133  statistics & st,
134  bool make_empty_dir,
135  const mask & ea_mask,
136  const mask & compr_mask,
137  const infinint & min_compr_size,
138  bool display_skipped,
139  bool keep_compressed,
140  const crit_action & overwrite,
141  bool warn_overwrite,
142  bool decremental_mode,
143  const infinint & sparse_file_min_size);
144 
145  void filtre_sequentially_read_all_catalogue(catalogue & cat,
146  user_interaction & dialog,
147  bool lax_read_mode);
148 
150 
151 } // end of namespace
152 
153 #endif
contains classes that let the user define the policy for overwriting files
class pile definition. Used to manage a stack of generic_file objects
comparison_fields
flag used to only consider certain fields when comparing/restoring inodes
Definition: catalogue.hpp:209
here is the definition of the path classthe path class handle path and provide several operation on t...
handle the statistic structure that gives a summary of treated files after each operatio ...
here lies a collection of mask classes
this file contains a set of classes used to transmit options to archive operation ...
bool nodump()
returns whether nodump flag support has been activated at compilation time
libdar namespace encapsulate all libdar symbols
Definition: archive.hpp:43
here is defined the many classed which is build of the catalogue