30 #include "../my_config.h"
63 const std::string & basename,
64 const std::string & extension,
90 const path & sauv_path,
91 const std::string & filename,
92 const std::string & extension,
106 const path &sauv_path,
108 const std::string & filename,
109 const std::string & extension,
131 const path & sauv_path,
133 const std::string & filename,
134 const std::string & extension,
145 archive(
const archive & ref) : stack(ref.stack) {
throw Efeature(gettext(
"Archive copy constructor is not implemented")); };
146 archive & operator = (
const archive & ref) {
throw Efeature(gettext(
"Archive assignment operator is not implemented")); };
205 const path & fs_root,
206 const archive_options_diff & options,
246 const std::string & dir);
278 enum operation { oper_create, oper_isolate, oper_merge };
283 infinint local_cat_size;
287 bool sequential_read;
290 catalogue & get_cat() {
if(cat == NULL)
throw SRC_BUG;
else return *cat; };
291 const header_version & get_header()
const {
return ver; };
292 const path & get_path() {
if(local_path == NULL)
throw SRC_BUG;
else return *local_path; };
294 bool get_sar_param(infinint & sub_file_size, infinint & first_file_size, infinint & last_file_size,
295 infinint & total_file_number);
296 infinint get_level2_size();
297 infinint get_cat_size()
const {
return local_cat_size; };
299 statistics op_create_in(user_interaction & dialog,
301 const path & fs_root,
302 const path & sauv_path,
304 const mask & selection,
305 const mask & subtree,
306 const std::string & filename,
307 const std::string & extension,
311 const infinint & pause,
314 U_I compression_level,
315 const infinint & file_size,
316 const infinint & first_file_size,
317 const mask & ea_mask,
318 const std::string & execute,
320 const secu_string & pass,
322 const mask & compr_mask,
323 const infinint & min_compr_size,
325 const infinint & hourshift,
328 bool furtive_read_mode,
332 bool cache_directory_tagging,
333 bool display_skipped,
334 const infinint & fixed_date,
335 const std::string & slice_permission,
336 const std::string & slice_user_ownership,
337 const std::string & slice_group_ownership,
338 const infinint & repeat_count,
339 const infinint & repeat_byte,
340 bool add_marks_for_sequential_reading,
342 const infinint & sparse_file_min_size,
343 const std::string & user_comment,
345 const infinint & slice_min_digits,
346 const std::string & backup_hook_file_execute,
347 const mask & backup_hook_file_mask,
349 statistics * progressive_report);
351 void op_create_in_sub(user_interaction & dialog,
353 const path & fs_root,
354 const path & sauv_path_t,
355 catalogue * ref_arch1,
356 catalogue * ref_arch2,
357 const path * ref_path,
358 const mask & selection,
359 const mask & subtree,
360 const std::string & filename,
361 const std::string & extension,
363 const crit_action & overwrite,
366 const infinint & pause,
369 U_I compression_level,
370 const infinint & file_size,
371 const infinint & first_file_size,
372 const mask & ea_mask,
373 const std::string & execute,
375 const secu_string & pass,
377 const mask & compr_mask,
378 const infinint & min_compr_size,
380 const infinint & hourshift,
383 bool furtive_read_mode,
387 bool cache_directory_tagging,
388 bool display_skipped,
389 bool keep_compressed,
390 const infinint & fixed_date,
391 const std::string & slice_permission,
392 const std::string & slice_user_ownership,
393 const std::string & slice_group_ownership,
394 const infinint & repeat_count,
395 const infinint & repeat_byte,
397 bool add_marks_for_sequential_reading,
399 const infinint & sparse_file_min_size,
400 const std::string & user_comment,
402 const infinint & slice_min_digits,
403 const std::string & backup_hook_file_execute,
404 const mask & backup_hook_file_mask,
406 statistics * st_ptr);
408 void disable_natural_destruction();
409 void enable_natural_destruction();
410 const label & get_layer1_data_name()
const;
411 const label & get_catalogue_data_name()
const;
412 bool only_contains_an_isolated_catalogue()
const;
413 void check_against_isolation(user_interaction & dialog,
bool lax)
const;
414 void check_header_version()
const;