Disk ARchive 2.4.2
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 // $Id: filtre.hpp,v 1.42 2011/03/31 15:52:00 edrusb Rel $
00022 //
00023 /*********************************************************************/
00024 
00028 
00029 #ifndef FILTRE_HPP
00030 #define FILTRE_HPP
00031 
00032 #include "../my_config.h"
00033 #include <vector>
00034 #include "mask.hpp"
00035 #include "pile.hpp"
00036 #include "catalogue.hpp"
00037 #include "path.hpp"
00038 #include "statistics.hpp"
00039 #include "criterium.hpp"
00040 #include "archive_options.hpp"
00041 
00042 namespace libdar
00043 {
00044 
00047 
00048     extern void filtre_restore(user_interaction & dialog, //< for user interaction
00049                                const mask &filtre,        //< which filename to restore
00050                                const mask & subtree,      //< which directory and paths to restore
00051                                catalogue & cat,           //< table of content to extract information from
00052                                const path & fs_racine,    //< root path under which to restore directiry tree and files
00053                                bool fs_warn_overwrite,    //< whether to warn before overwriting (to be replaced by overwriting policy)
00054                                bool info_details,         //< whether to be verbose
00055                                statistics & st,           //< statistics result about the operation
00056                                const mask & ea_mask,      //< defines EA to restore/not restore
00057                                bool flat,                 //< if true, directories are not restores, all files are placed directly at in fs_racine directory
00058                                inode::comparison_fields what_to_check, //< which file properties to restore
00059                                bool warn_remove_no_match, //< wether to warn for file to remove not matching the expected type
00060                                bool empty,                //< dry-run execution
00061                                bool display_skipped,      //< whether to display skipped files
00062                                bool empty_dir,            //< whether to restore directories that do contain any file to restore
00063                                const crit_action & x_overwrite, //< how and whether to overwrite files
00064                                archive_options_extract::t_dirty dirty, //< whether to restore dirty files
00065                                bool only_deleted,         //< whether to only consider deleted files
00066                                bool not_deleted);         //< <wether to consider deleted files
00067 
00068     extern void filtre_sauvegarde(user_interaction & dialog,
00069                                   const mask &filtre,
00070                                   const mask &subtree,
00071                                   pile & stack,
00072                                   catalogue & cat,
00073                                   catalogue &ref,
00074                                   const path & fs_racine,
00075                                   bool info_details,
00076                                   statistics & st,
00077                                   bool make_empty_dir,
00078                                   const mask & ea_mask,
00079                                   const mask &compr_mask,
00080                                   const infinint & min_compr_size,
00081                                   bool nodump,
00082                                   const infinint & hourshift,
00083                                   bool alter_time,
00084                                   bool furtive_read_mode,
00085                                   bool same_fs,
00086                                   inode::comparison_fields what_to_check,
00087                                   bool snapshot,
00088                                   bool cache_directory_tagging,
00089                                   bool display_skipped,
00090                                   bool security_check,
00091                                   const infinint & repeat_count,
00092                                   const infinint & repeat_byte,
00093                                   const infinint & fixed_date,
00094                                   const infinint & sparse_file_min_size,
00095                                   const std::string & backup_hook_file_execute,
00096                                   const mask & backup_hook_file_mask,
00097                                   bool ignore_unknown);
00098 
00099     extern void filtre_difference(user_interaction & dialog,
00100                                   const mask &filtre,
00101                                   const mask &subtree,
00102                                   catalogue & cat,
00103                                   const path & fs_racine,
00104                                   bool info_details,
00105                                   statistics & st,
00106                                   const mask & ea_mask,
00107                                   bool alter_time,
00108                                   bool furtive_read_mode,
00109                                   inode::comparison_fields what_to_check,
00110                                   bool display_skipped,
00111                                   const infinint & hourshift,
00112                                   bool compare_symlink_date);
00113 
00114     extern void filtre_test(user_interaction & dialog,
00115                             const mask &filtre,
00116                             const mask &subtree,
00117                             catalogue & cat,
00118                             bool info_details,
00119                             bool empty,
00120                             statistics & st,
00121                             bool display_skipped);
00122 
00123     extern void filtre_isolate(user_interaction & dialog,
00124                                catalogue & cat,
00125                                catalogue & ref,
00126                                bool info_details);
00127 
00128     extern void filtre_merge(user_interaction & dialog,
00129                              const mask & filtre,
00130                              const mask & subtree,
00131                              pile & stack,
00132                              catalogue & cat,
00133                              catalogue * ref1,
00134                              catalogue * ref2,
00135                              bool info_details,
00136                              statistics & st,
00137                              bool make_empty_dir,
00138                              const mask & ea_mask,
00139                              const mask & compr_mask,
00140                              const infinint & min_compr_size,
00141                              bool display_skipped,
00142                              bool keep_compressed,
00143                              const crit_action & overwrite,
00144                              bool warn_overwrite,
00145                              bool decremental_mode,
00146                              const infinint & sparse_file_min_size);
00147 
00149 
00150 } // end of namespace
00151 
00152 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines