34 #include "../my_config.h"
67 const std::string & basename,
68 const std::string & extension,
94 const path & sauv_path,
95 const std::string & filename,
96 const std::string & extension,
110 const path &sauv_path,
112 const std::string & filename,
113 const std::string & extension,
135 const path & sauv_path,
137 const std::string & filename,
138 const std::string & extension,
149 archive(
const archive & ref) : stack(ref.stack) {
throw Efeature(gettext(
"Archive copy constructor is not implemented")); };
150 archive & operator = (
const archive & ref) {
throw Efeature(gettext(
"Archive assignment operator is not implemented")); };
209 const path & fs_root,
210 const archive_options_diff & options,
250 const std::string & dir);
282 enum operation { oper_create, oper_isolate, oper_merge };
287 infinint local_cat_size;
291 bool sequential_read;
294 catalogue & get_cat() {
if(cat == NULL)
throw SRC_BUG;
else return *cat; };
295 const header_version & get_header()
const {
return ver; };
296 const path & get_path() {
if(local_path == NULL)
throw SRC_BUG;
else return *local_path; };
298 bool get_sar_param(infinint & sub_file_size, infinint & first_file_size, infinint & last_file_size,
299 infinint & total_file_number);
300 infinint get_level2_size();
301 infinint get_cat_size()
const {
return local_cat_size; };
303 statistics op_create_in(user_interaction & dialog,
305 const path & fs_root,
306 const path & sauv_path,
308 const mask & selection,
309 const mask & subtree,
310 const std::string & filename,
311 const std::string & extension,
315 const infinint & pause,
318 U_I compression_level,
319 const infinint & file_size,
320 const infinint & first_file_size,
321 const mask & ea_mask,
322 const std::string & execute,
324 const secu_string & pass,
326 const mask & compr_mask,
327 const infinint & min_compr_size,
329 const infinint & hourshift,
332 bool furtive_read_mode,
336 bool cache_directory_tagging,
337 bool display_skipped,
338 const infinint & fixed_date,
339 const std::string & slice_permission,
340 const std::string & slice_user_ownership,
341 const std::string & slice_group_ownership,
342 const infinint & repeat_count,
343 const infinint & repeat_byte,
344 bool add_marks_for_sequential_reading,
346 const infinint & sparse_file_min_size,
347 const std::string & user_comment,
349 const infinint & slice_min_digits,
350 const std::string & backup_hook_file_execute,
351 const mask & backup_hook_file_mask,
353 statistics * progressive_report);
355 void op_create_in_sub(user_interaction & dialog,
357 const path & fs_root,
358 const path & sauv_path_t,
359 catalogue * ref_arch1,
360 catalogue * ref_arch2,
361 const path * ref_path,
362 const mask & selection,
363 const mask & subtree,
364 const std::string & filename,
365 const std::string & extension,
367 const crit_action & overwrite,
370 const infinint & pause,
373 U_I compression_level,
374 const infinint & file_size,
375 const infinint & first_file_size,
376 const mask & ea_mask,
377 const std::string & execute,
379 const secu_string & pass,
381 const mask & compr_mask,
382 const infinint & min_compr_size,
384 const infinint & hourshift,
387 bool furtive_read_mode,
391 bool cache_directory_tagging,
392 bool display_skipped,
393 bool keep_compressed,
394 const infinint & fixed_date,
395 const std::string & slice_permission,
396 const std::string & slice_user_ownership,
397 const std::string & slice_group_ownership,
398 const infinint & repeat_count,
399 const infinint & repeat_byte,
401 bool add_marks_for_sequential_reading,
403 const infinint & sparse_file_min_size,
404 const std::string & user_comment,
406 const infinint & slice_min_digits,
407 const std::string & backup_hook_file_execute,
408 const mask & backup_hook_file_mask,
410 statistics * st_ptr);
412 void disable_natural_destruction();
413 void enable_natural_destruction();
414 const label & get_layer1_data_name()
const;
415 const label & get_catalogue_data_name()
const;
416 bool only_contains_an_isolated_catalogue()
const;
417 void check_against_isolation(user_interaction & dialog,
bool lax)
const;
418 void check_header_version()
const;