Disk ARchive  2.4.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
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 
149 
150 } // end of namespace
151 
152 #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
void filtre_restore(user_interaction &dialog, const mask &filtre, const mask &subtree, catalogue &cat, const path &fs_racine, bool fs_warn_overwrite, bool info_details, statistics &st, const mask &ea_mask, bool flat, inode::comparison_fields what_to_check, bool warn_remove_no_match, bool empty, bool display_skipped, bool empty_dir, const crit_action &x_overwrite, archive_options_extract::t_dirty dirty, bool only_deleted, bool not_deleted)
here is defined the many classed which is build of the catalogue