30 #include "../my_config.h"
64 const std::string & basename,
65 const std::string & extension,
91 const path & sauv_path,
92 const std::string & filename,
93 const std::string & extension,
107 const path &sauv_path,
109 const std::string & filename,
110 const std::string & extension,
132 const path & sauv_path,
134 const std::string & filename,
135 const std::string & extension,
206 const path & fs_root,
207 const archive_options_diff & options,
247 const std::string & dir);
279 enum operation { oper_create, oper_isolate, oper_merge };
284 infinint local_cat_size;
288 bool sequential_read;
291 catalogue & get_cat() {
if(cat == NULL)
throw SRC_BUG;
else return *cat; };
292 const header_version & get_header()
const {
return ver; };
293 const path & get_path() {
if(local_path == NULL)
throw SRC_BUG;
else return *local_path; };
295 bool get_sar_param(infinint & sub_file_size, infinint & first_file_size, infinint & last_file_size,
296 infinint & total_file_number);
297 infinint get_level2_size();
298 infinint get_cat_size()
const {
return local_cat_size; };
300 statistics op_create_in(user_interaction & dialog,
302 const path & fs_root,
303 const path & sauv_path,
305 const mask & selection,
306 const mask & subtree,
307 const std::string & filename,
308 const std::string & extension,
312 const infinint & pause,
315 U_I compression_level,
316 const infinint & file_size,
317 const infinint & first_file_size,
318 const mask & ea_mask,
319 const std::string & execute,
321 const secu_string & pass,
323 const mask & compr_mask,
324 const infinint & min_compr_size,
326 const infinint & hourshift,
329 bool furtive_read_mode,
333 bool cache_directory_tagging,
334 bool display_skipped,
335 const infinint & fixed_date,
336 const std::string & slice_permission,
337 const std::string & slice_user_ownership,
338 const std::string & slice_group_ownership,
339 const infinint & repeat_count,
340 const infinint & repeat_byte,
341 bool add_marks_for_sequential_reading,
343 const infinint & sparse_file_min_size,
344 const std::string & user_comment,
346 const infinint & slice_min_digits,
347 const std::string & backup_hook_file_execute,
348 const mask & backup_hook_file_mask,
350 statistics * progressive_report);
352 void op_create_in_sub(user_interaction & dialog,
354 const path & fs_root,
355 const path & sauv_path_t,
356 catalogue * ref_arch1,
357 catalogue * ref_arch2,
358 const path * ref_path,
359 const mask & selection,
360 const mask & subtree,
361 const std::string & filename,
362 const std::string & extension,
364 const crit_action & overwrite,
367 const infinint & pause,
370 U_I compression_level,
371 const infinint & file_size,
372 const infinint & first_file_size,
373 const mask & ea_mask,
374 const std::string & execute,
376 const secu_string & pass,
378 const mask & compr_mask,
379 const infinint & min_compr_size,
381 const infinint & hourshift,
384 bool furtive_read_mode,
388 bool cache_directory_tagging,
389 bool display_skipped,
390 bool keep_compressed,
391 const infinint & fixed_date,
392 const std::string & slice_permission,
393 const std::string & slice_user_ownership,
394 const std::string & slice_group_ownership,
395 const infinint & repeat_count,
396 const infinint & repeat_byte,
398 bool add_marks_for_sequential_reading,
400 const infinint & sparse_file_min_size,
401 const std::string & user_comment,
403 const infinint & slice_min_digits,
404 const std::string & backup_hook_file_execute,
405 const mask & backup_hook_file_mask,
407 statistics * st_ptr);
409 void disable_natural_destruction();
410 void enable_natural_destruction();
411 const label & get_layer1_data_name()
const;
412 const label & get_catalogue_data_name()
const;
413 bool only_contains_an_isolated_catalogue()
const;
414 void check_against_isolation(user_interaction & dialog,
bool lax)
const;
415 void check_header_version()
const;