Disk ARchive  2.4.5
 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 // $Id: filtre.hpp,v 1.42 2011/03/31 15:52:00 edrusb Rel $
22 //
23 /*********************************************************************/
24 
28 
29 #ifndef FILTRE_HPP
30 #define FILTRE_HPP
31 
32 #include "../my_config.h"
33 #include <vector>
34 #include "mask.hpp"
35 #include "pile.hpp"
36 #include "catalogue.hpp"
37 #include "path.hpp"
38 #include "statistics.hpp"
39 #include "criterium.hpp"
40 #include "archive_options.hpp"
41 
42 namespace libdar
43 {
44 
47 
48  extern void filtre_restore(user_interaction & dialog, //< for user interaction
49  const mask &filtre, //< which filename to restore
50  const mask & subtree, //< which directory and paths to restore
51  catalogue & cat, //< table of content to extract information from
52  const path & fs_racine, //< root path under which to restore directiry tree and files
53  bool fs_warn_overwrite, //< whether to warn before overwriting (to be replaced by overwriting policy)
54  bool info_details, //< whether to be verbose
55  statistics & st, //< statistics result about the operation
56  const mask & ea_mask, //< defines EA to restore/not restore
57  bool flat, //< if true, directories are not restores, all files are placed directly at in fs_racine directory
58  inode::comparison_fields what_to_check, //< which file properties to restore
59  bool warn_remove_no_match, //< wether to warn for file to remove not matching the expected type
60  bool empty, //< dry-run execution
61  bool display_skipped, //< whether to display skipped files
62  bool empty_dir, //< whether to restore directories that do contain any file to restore
63  const crit_action & x_overwrite, //< how and whether to overwrite files
64  archive_options_extract::t_dirty dirty, //< whether to restore dirty files
65  bool only_deleted, //< whether to only consider deleted files
66  bool not_deleted); //< <wether to consider deleted files
67 
68  extern void filtre_sauvegarde(user_interaction & dialog,
69  const mask &filtre,
70  const mask &subtree,
71  pile & stack,
72  catalogue & cat,
73  catalogue &ref,
74  const path & fs_racine,
75  bool info_details,
76  statistics & st,
77  bool make_empty_dir,
78  const mask & ea_mask,
79  const mask &compr_mask,
80  const infinint & min_compr_size,
81  bool nodump,
82  const infinint & hourshift,
83  bool alter_time,
84  bool furtive_read_mode,
85  bool same_fs,
86  inode::comparison_fields what_to_check,
87  bool snapshot,
88  bool cache_directory_tagging,
89  bool display_skipped,
90  bool security_check,
91  const infinint & repeat_count,
92  const infinint & repeat_byte,
93  const infinint & fixed_date,
94  const infinint & sparse_file_min_size,
95  const std::string & backup_hook_file_execute,
96  const mask & backup_hook_file_mask,
97  bool ignore_unknown);
98 
99  extern void filtre_difference(user_interaction & dialog,
100  const mask &filtre,
101  const mask &subtree,
102  catalogue & cat,
103  const path & fs_racine,
104  bool info_details,
105  statistics & st,
106  const mask & ea_mask,
107  bool alter_time,
108  bool furtive_read_mode,
109  inode::comparison_fields what_to_check,
110  bool display_skipped,
111  const infinint & hourshift,
112  bool compare_symlink_date);
113 
114  extern void filtre_test(user_interaction & dialog,
115  const mask &filtre,
116  const mask &subtree,
117  catalogue & cat,
118  bool info_details,
119  bool empty,
120  statistics & st,
121  bool display_skipped);
122 
123  extern void filtre_isolate(user_interaction & dialog,
124  catalogue & cat,
125  catalogue & ref,
126  bool info_details);
127 
128  extern void filtre_merge(user_interaction & dialog,
129  const mask & filtre,
130  const mask & subtree,
131  pile & stack,
132  catalogue & cat,
133  catalogue * ref1,
134  catalogue * ref2,
135  bool info_details,
136  statistics & st,
137  bool make_empty_dir,
138  const mask & ea_mask,
139  const mask & compr_mask,
140  const infinint & min_compr_size,
141  bool display_skipped,
142  bool keep_compressed,
143  const crit_action & overwrite,
144  bool warn_overwrite,
145  bool decremental_mode,
146  const infinint & sparse_file_min_size);
147 
149 
150 } // end of namespace
151 
152 #endif