Disk ARchive  2.4.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
filtre.hpp
Go to the documentation of this file.
00001 /*********************************************************************/
00002 // dar - disk archive - a backup/restoration program
00003 // Copyright (C) 2002-2052 Denis Corbin
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 //
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00018 //
00019 // to contact the author : http://dar.linux.free.fr/email.html
00020 /*********************************************************************/
00021 
00025 
00026 #ifndef FILTRE_HPP
00027 #define FILTRE_HPP
00028 
00029 #include "../my_config.h"
00030 #include <vector>
00031 #include "mask.hpp"
00032 #include "pile.hpp"
00033 #include "catalogue.hpp"
00034 #include "path.hpp"
00035 #include "statistics.hpp"
00036 #include "criterium.hpp"
00037 #include "archive_options.hpp"
00038 
00039 namespace libdar
00040 {
00041 
00044 
00045     extern void filtre_restore(user_interaction & dialog, //< for user interaction
00046                                const mask &filtre,        //< which filename to restore
00047                                const mask & subtree,      //< which directory and paths to restore
00048                                catalogue & cat,           //< table of content to extract information from
00049                                const path & fs_racine,    //< root path under which to restore directiry tree and files
00050                                bool fs_warn_overwrite,    //< whether to warn before overwriting (to be replaced by overwriting policy)
00051                                bool info_details,         //< whether to be verbose
00052                                statistics & st,           //< statistics result about the operation
00053                                const mask & ea_mask,      //< defines EA to restore/not restore
00054                                bool flat,                 //< if true, directories are not restores, all files are placed directly at in fs_racine directory
00055                                inode::comparison_fields what_to_check, //< which file properties to restore
00056                                bool warn_remove_no_match, //< wether to warn for file to remove not matching the expected type
00057                                bool empty,                //< dry-run execution
00058                                bool display_skipped,      //< whether to display skipped files
00059                                bool empty_dir,            //< whether to restore directories that do contain any file to restore
00060                                const crit_action & x_overwrite, //< how and whether to overwrite files
00061                                archive_options_extract::t_dirty dirty, //< whether to restore dirty files
00062                                bool only_deleted,         //< whether to only consider deleted files
00063                                bool not_deleted);         //< <wether to consider deleted files
00064 
00065     extern void filtre_sauvegarde(user_interaction & dialog,
00066                                   const mask &filtre,
00067                                   const mask &subtree,
00068                                   pile & stack,
00069                                   catalogue & cat,
00070                                   catalogue &ref,
00071                                   const path & fs_racine,
00072                                   bool info_details,
00073                                   statistics & st,
00074                                   bool make_empty_dir,
00075                                   const mask & ea_mask,
00076                                   const mask &compr_mask,
00077                                   const infinint & min_compr_size,
00078                                   bool nodump,
00079                                   const infinint & hourshift,
00080                                   bool alter_time,
00081                                   bool furtive_read_mode,
00082                                   bool same_fs,
00083                                   inode::comparison_fields what_to_check,
00084                                   bool snapshot,
00085                                   bool cache_directory_tagging,
00086                                   bool display_skipped,
00087                                   bool security_check,
00088                                   const infinint & repeat_count,
00089                                   const infinint & repeat_byte,
00090                                   const infinint & fixed_date,
00091                                   const infinint & sparse_file_min_size,
00092                                   const std::string & backup_hook_file_execute,
00093                                   const mask & backup_hook_file_mask,
00094                                   bool ignore_unknown);
00095 
00096     extern void filtre_difference(user_interaction & dialog,
00097                                   const mask &filtre,
00098                                   const mask &subtree,
00099                                   catalogue & cat,
00100                                   const path & fs_racine,
00101                                   bool info_details,
00102                                   statistics & st,
00103                                   const mask & ea_mask,
00104                                   bool alter_time,
00105                                   bool furtive_read_mode,
00106                                   inode::comparison_fields what_to_check,
00107                                   bool display_skipped,
00108                                   const infinint & hourshift,
00109                                   bool compare_symlink_date);
00110 
00111     extern void filtre_test(user_interaction & dialog,
00112                             const mask &filtre,
00113                             const mask &subtree,
00114                             catalogue & cat,
00115                             bool info_details,
00116                             bool empty,
00117                             statistics & st,
00118                             bool display_skipped);
00119 
00120     extern void filtre_isolate(user_interaction & dialog,
00121                                catalogue & cat,
00122                                catalogue & ref,
00123                                bool info_details);
00124 
00125     extern void filtre_merge(user_interaction & dialog,
00126                              const mask & filtre,
00127                              const mask & subtree,
00128                              pile & stack,
00129                              catalogue & cat,
00130                              catalogue * ref1,
00131                              catalogue * ref2,
00132                              bool info_details,
00133                              statistics & st,
00134                              bool make_empty_dir,
00135                              const mask & ea_mask,
00136                              const mask & compr_mask,
00137                              const infinint & min_compr_size,
00138                              bool display_skipped,
00139                              bool keep_compressed,
00140                              const crit_action & overwrite,
00141                              bool warn_overwrite,
00142                              bool decremental_mode,
00143                              const infinint & sparse_file_min_size);
00144 
00145     void filtre_sequentially_read_all_catalogue(catalogue & cat,
00146                                                 user_interaction & dialog);
00147 
00149 
00150 } // end of namespace
00151 
00152 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines