26 #ifndef ARCHIVE_OPTIONS_HPP
27 #define ARCHIVE_OPTIONS_HPP
29 #include "../my_config.h"
111 void set_input_pipe(
const std::string & input_pipe) { x_input_pipe = input_pipe; };
117 void set_output_pipe(
const std::string & output_pipe) { x_output_pipe = output_pipe; };
130 void set_execute(
const std::string & execute) { x_execute = execute; };
154 void set_entrepot(
const std::shared_ptr<entrepot> & entr) {
if(!entr)
throw Erange(
"archive_options_read::set_entrepot",
"null entrepot pointer given in argument"); x_entrepot = entr; };
166 void set_external_catalogue(
const path & ref_chem,
const std::string & ref_basename) { x_ref_chem = ref_chem, x_ref_basename = ref_basename; external_cat =
true; };
190 void set_ref_execute(
const std::string & ref_execute) { x_ref_execute = ref_execute; };
198 void set_ref_entrepot(
const std::shared_ptr<entrepot> & entr) {
if(!entr)
throw Erange(
"archive_options_read::set_ref_entrepot",
"null entrepot pointer given in argument"); x_ref_entrepot = entr; };
209 crypto_algo get_crypto_algo()
const {
return x_crypto; };
210 const secu_string & get_crypto_pass()
const {
return x_pass; };
211 U_32 get_crypto_size()
const {
return x_crypto_size; };
212 const std::string & get_input_pipe()
const {
return x_input_pipe; };
213 const std::string & get_output_pipe()
const {
return x_output_pipe; };
214 const std::string & get_execute()
const {
return x_execute; };
215 bool get_info_details()
const {
return x_info_details; };
216 bool get_lax()
const {
return x_lax; };
217 bool get_sequential_read()
const {
return x_sequential_read; };
218 infinint get_slice_min_digits()
const {
return x_slice_min_digits; };
219 const std::shared_ptr<entrepot> & get_entrepot()
const {
return x_entrepot; };
220 bool get_ignore_signature_check_failure()
const {
return x_ignore_signature_check_failure; };
221 bool get_multi_threaded()
const {
return x_multi_threaded; };
224 bool is_external_catalogue_set()
const {
return external_cat; };
225 const path & get_ref_path()
const;
226 const std::string & get_ref_basename()
const;
227 crypto_algo get_ref_crypto_algo()
const {
return x_ref_crypto; };
228 const secu_string & get_ref_crypto_pass()
const {
return x_ref_pass; };
229 U_32 get_ref_crypto_size()
const {
return x_ref_crypto_size; };
230 const std::string & get_ref_execute()
const {
return x_ref_execute; };
231 infinint get_ref_slice_min_digits()
const {
return x_ref_slice_min_digits; };
232 const std::shared_ptr<entrepot> & get_ref_entrepot()
const {
return x_ref_entrepot; };
233 bool get_header_only()
const {
return x_header_only; };
240 std::string x_input_pipe;
241 std::string x_output_pipe;
242 std::string x_execute;
245 bool x_sequential_read;
246 infinint x_slice_min_digits;
247 std::shared_ptr<entrepot> x_entrepot;
248 bool x_ignore_signature_check_failure;
249 bool x_multi_threaded;
255 std::string x_ref_basename;
257 secu_string x_ref_pass;
258 U_32 x_ref_crypto_size;
259 std::string x_ref_execute;
260 infinint x_ref_slice_min_digits;
261 std::shared_ptr<entrepot> x_ref_entrepot;
325 void set_display_treated(
bool display_treated,
bool only_dir) { x_display_treated = display_treated; x_display_treated_only_dir = only_dir; };
352 x_file_size = file_size;
353 if(first_file_size.is_zero())
354 x_first_file_size = file_size;
356 x_first_file_size = first_file_size;
374 void set_execute(
const std::string & execute) { x_execute = execute; };
393 void set_gnupg_recipients(
const std::vector<std::string> & gnupg_recipients) { x_gnupg_recipients = gnupg_recipients; };
397 void set_gnupg_signatories(
const std::vector<std::string> & gnupg_signatories) { x_gnupg_signatories = gnupg_signatories; };
411 { exclude_by_ea = (ea_name ==
"" ?
"user.libdar_no_backup" : ea_name); };
431 x_alter_atime = alter_atime;
459 void set_retry_on_change(
const infinint & count_max_per_file,
const infinint & global_max_byte_overhead = 0) { x_repeat_count = count_max_per_file; x_repeat_byte = global_max_byte_overhead; };
489 void set_entrepot(
const std::shared_ptr<entrepot> & entr) {
if(!entr)
throw Erange(
"archive_options_create::set_entrepot",
"null entrepot pointer given in argument"); x_entrepot = entr; };
539 std::shared_ptr<archive> get_reference()
const {
return x_ref_arch; };
541 const mask & get_subtree()
const {
if(
x_subtree ==
nullptr)
throw SRC_BUG;
return *
x_subtree; };
542 bool get_allow_over()
const {
return x_allow_over; };
543 bool get_warn_over()
const {
return x_warn_over; };
544 bool get_info_details()
const {
return x_info_details; };
545 bool get_display_treated()
const {
return x_display_treated; };
546 bool get_display_treated_only_dir()
const {
return x_display_treated_only_dir; };
547 bool get_display_skipped()
const {
return x_display_skipped; };
548 bool get_display_finished()
const {
return x_display_finished; };
549 const infinint & get_pause()
const {
return x_pause; };
550 bool get_empty_dir()
const {
return x_empty_dir; };
551 compression get_compression()
const {
return x_compr_algo; };
552 U_I get_compression_level()
const {
return x_compression_level; };
553 const infinint & get_slice_size()
const {
return x_file_size; };
554 const infinint & get_first_slice_size()
const {
return x_first_file_size; };
555 const mask & get_ea_mask()
const {
if(
x_ea_mask ==
nullptr)
throw SRC_BUG;
return *
x_ea_mask; };
556 const std::string & get_execute()
const {
return x_execute; };
557 crypto_algo get_crypto_algo()
const {
return x_crypto; };
558 const secu_string & get_crypto_pass()
const {
return x_pass; };
559 U_32 get_crypto_size()
const {
return x_crypto_size; };
560 const std::vector<std::string> & get_gnupg_recipients()
const {
return x_gnupg_recipients; };
561 const std::vector<std::string> & get_gnupg_signatories()
const {
return x_gnupg_signatories; };
563 const infinint & get_min_compr_size()
const {
return x_min_compr_size; };
564 bool get_nodump()
const {
return x_nodump; };
565 const std::string & get_exclude_by_ea()
const {
return exclude_by_ea; };
567 const infinint & get_hourshift()
const {
return x_hourshift; };
568 bool get_empty()
const {
return x_empty; };
569 bool get_alter_atime()
const {
return x_alter_atime; };
570 bool get_furtive_read_mode()
const {
return x_furtive_read; };
571 bool get_same_fs()
const {
return x_same_fs; };
572 bool get_snapshot()
const {
return x_snapshot; };
573 bool get_cache_directory_tagging()
const {
return x_cache_directory_tagging; };
574 const infinint & get_fixed_date()
const {
return x_fixed_date; };
575 const std::string & get_slice_permission()
const {
return x_slice_permission; };
576 const std::string & get_slice_user_ownership()
const {
return x_slice_user_ownership; };
577 const std::string & get_slice_group_ownership()
const {
return x_slice_group_ownership; };
578 const infinint & get_repeat_count()
const {
return x_repeat_count; };
579 const infinint & get_repeat_byte()
const {
return x_repeat_byte; };
580 bool get_sequential_marks()
const {
return x_sequential_marks; };
581 infinint get_sparse_file_min_size()
const {
return x_sparse_file_min_size; };
582 bool get_security_check()
const {
return x_security_check; };
583 const std::string & get_user_comment()
const {
return x_user_comment; };
584 hash_algo get_hash_algo()
const {
return x_hash; };
585 infinint get_slice_min_digits()
const {
return x_slice_min_digits; };
586 const std::string & get_backup_hook_file_execute()
const {
return x_backup_hook_file_execute; };
587 const mask & get_backup_hook_file_mask()
const {
return *x_backup_hook_file_mask; };
588 bool get_ignore_unknown_inode_type()
const {
return x_ignore_unknown; };
589 const std::shared_ptr<entrepot> & get_entrepot()
const {
return x_entrepot; };
590 const fsa_scope & get_fsa_scope()
const {
return x_scope; };
591 bool get_multi_threaded()
const {
return x_multi_threaded; };
592 bool get_delta_diff()
const {
return x_delta_diff; };
593 bool get_delta_signature()
const {
return x_delta_signature; };
594 const mask & get_delta_mask()
const {
return *x_delta_mask; }
595 bool get_has_delta_mask_been_set()
const {
return has_delta_mask_been_set; };
596 const infinint & get_delta_sig_min_size()
const {
return x_delta_sig_min_size; };
597 bool get_auto_zeroing_neg_dates()
const {
return x_auto_zeroing_neg_dates; };
598 const std::set<std::string> & get_ignored_as_symlink()
const {
return x_ignored_as_symlink; };
600 const infinint & get_iteration_count()
const {
return x_iteration_count; };
601 hash_algo get_kdf_hash()
const {
return x_kdf_hash; };
611 bool x_display_treated;
612 bool x_display_treated_only_dir;
613 bool x_display_skipped;
614 bool x_display_finished;
618 U_I x_compression_level;
622 std::string x_execute;
626 std::vector<std::string> x_gnupg_recipients;
627 std::vector<std::string> x_gnupg_signatories;
631 std::string exclude_by_ea;
640 bool x_cache_directory_tagging;
642 std::string x_slice_permission;
643 std::string x_slice_user_ownership;
644 std::string x_slice_group_ownership;
647 bool x_sequential_marks;
649 bool x_security_check;
650 std::string x_user_comment;
653 mask * x_backup_hook_file_mask;
654 std::string x_backup_hook_file_execute;
655 bool x_ignore_unknown;
656 std::shared_ptr<entrepot> x_entrepot;
658 bool x_multi_threaded;
660 bool x_delta_signature;
662 bool has_delta_mask_been_set;
664 bool x_auto_zeroing_neg_dates;
665 std::set<std::string> x_ignored_as_symlink;
671 void nullifyptr() noexcept;
672 void destroy() noexcept;
675 void destroy_mask(
mask * & ptr);
676 void clean_mask(
mask * & ptr);
677 void check_mask(const
mask & m);
732 x_file_size = file_size;
733 if(first_file_size.is_zero())
734 x_first_file_size = file_size;
736 x_first_file_size = first_file_size;
750 void set_execute(
const std::string & execute) { x_execute = execute; };
763 void set_gnupg_recipients(
const std::vector<std::string> & gnupg_recipients) { x_gnupg_recipients = gnupg_recipients; };
766 void set_gnupg_signatories(
const std::vector<std::string> & gnupg_signatories) { x_gnupg_signatories = gnupg_signatories; };
793 void set_entrepot(
const std::shared_ptr<entrepot> & entr) {
if(!entr)
throw Erange(
"archive_options_isolated::set_entrepot",
"null entrepot pointer given in argument"); x_entrepot = entr; };
821 bool get_allow_over()
const {
return x_allow_over; };
822 bool get_warn_over()
const {
return x_warn_over; };
823 bool get_info_details()
const {
return x_info_details; };
824 const infinint & get_pause()
const {
return x_pause; };
825 compression get_compression()
const {
return x_algo; };
826 U_I get_compression_level()
const {
return x_compression_level; };
827 const infinint & get_slice_size()
const {
return x_file_size; };
828 const infinint & get_first_slice_size()
const {
return x_first_file_size; };
829 const std::string & get_execute()
const {
return x_execute; };
830 crypto_algo get_crypto_algo()
const {
return x_crypto; };
831 const secu_string & get_crypto_pass()
const {
return x_pass; };
832 U_32 get_crypto_size()
const {
return x_crypto_size; };
833 const std::vector<std::string> & get_gnupg_recipients()
const {
return x_gnupg_recipients; };
834 const std::vector<std::string> & get_gnupg_signatories()
const {
return x_gnupg_signatories; };
835 bool get_empty()
const {
return x_empty; };
836 const std::string & get_slice_permission()
const {
return x_slice_permission; };
837 const std::string & get_slice_user_ownership()
const {
return x_slice_user_ownership; };
838 const std::string & get_slice_group_ownership()
const {
return x_slice_group_ownership; };
839 const std::string & get_user_comment()
const {
return x_user_comment; };
840 hash_algo get_hash_algo()
const {
return x_hash; };
841 infinint get_slice_min_digits()
const {
return x_slice_min_digits; };
842 bool get_sequential_marks()
const {
return x_sequential_marks; };
843 const std::shared_ptr<entrepot> & get_entrepot()
const {
return x_entrepot; };
844 bool get_multi_threaded()
const {
return x_multi_threaded; };
845 bool get_delta_signature()
const {
return x_delta_signature; };
846 const mask & get_delta_mask()
const {
return *x_delta_mask; }
847 bool get_has_delta_mask_been_set()
const {
return has_delta_mask_been_set; };
848 const infinint & get_delta_sig_min_size()
const {
return x_delta_sig_min_size; };
849 const infinint & get_iteration_count()
const {
return x_iteration_count; };
850 hash_algo get_kdf_hash()
const {
return x_kdf_hash; };
851 delta_sig_block_size get_sig_block_len()
const {
return x_sig_block_len; };
860 U_I x_compression_level;
861 infinint x_file_size;
862 infinint x_first_file_size;
863 std::string x_execute;
867 std::vector<std::string> x_gnupg_recipients;
868 std::vector<std::string> x_gnupg_signatories;
870 std::string x_slice_permission;
871 std::string x_slice_user_ownership;
872 std::string x_slice_group_ownership;
873 std::string x_user_comment;
875 infinint x_slice_min_digits;
876 bool x_sequential_marks;
877 std::shared_ptr<entrepot> x_entrepot;
878 bool x_multi_threaded;
879 bool x_delta_signature;
881 bool has_delta_mask_been_set;
882 infinint x_delta_sig_min_size;
883 infinint x_iteration_count;
885 delta_sig_block_size x_sig_block_len;
887 void copy_from(
const archive_options_isolate & ref);
888 void move_from(archive_options_isolate && ref) noexcept;
889 void destroy() noexcept;
890 void nullifyptr() noexcept;
916 void set_auxiliary_ref(std::shared_ptr<archive> ref) { x_ref = ref; };
931 void set_overwriting_rules(
const crit_action & overwrite);
945 void set_display_treated(
bool display_treated,
bool only_dir) { x_display_treated = display_treated; x_display_treated_only_dir = only_dir; };
969 x_file_size = file_size;
970 if(first_file_size.is_zero())
971 x_first_file_size = file_size;
973 x_first_file_size = first_file_size;
990 void set_execute(
const std::string & execute) { x_execute = execute; };
1004 void set_gnupg_recipients(
const std::vector<std::string> & gnupg_recipients) { x_gnupg_recipients = gnupg_recipients; };
1007 void set_gnupg_signatories(
const std::vector<std::string> & gnupg_signatories) { x_gnupg_signatories = gnupg_signatories; };
1049 void set_entrepot(
const std::shared_ptr<entrepot> & entr) {
if(!entr)
throw Erange(
"archive_options_merge::set_entrepot",
"null entrepot pointer given in argument"); x_entrepot = entr; };
1085 std::shared_ptr<archive> get_auxiliary_ref()
const {
return x_ref; };
1087 const mask & get_subtree()
const {
if(
x_subtree ==
nullptr)
throw SRC_BUG;
return *
x_subtree; };
1088 bool get_allow_over()
const {
return x_allow_over; };
1089 bool get_warn_over()
const {
return x_warn_over; };
1090 const crit_action & get_overwriting_rules()
const {
if(x_overwrite ==
nullptr)
throw SRC_BUG;
return *x_overwrite; };
1091 bool get_info_details()
const {
return x_info_details; };
1092 bool get_display_treated()
const {
return x_display_treated; };
1093 bool get_display_treated_only_dir()
const {
return x_display_treated_only_dir; };
1094 bool get_display_skipped()
const {
return x_display_skipped; };
1095 const infinint & get_pause()
const {
return x_pause; };
1096 bool get_empty_dir()
const {
return x_empty_dir; };
1097 compression get_compression()
const {
return x_compr_algo; };
1098 U_I get_compression_level()
const {
return x_compression_level; };
1099 const infinint & get_slice_size()
const {
return x_file_size; };
1100 const infinint & get_first_slice_size()
const {
return x_first_file_size; };
1101 const mask & get_ea_mask()
const {
if(
x_ea_mask ==
nullptr)
throw SRC_BUG;
return *
x_ea_mask; };
1102 const std::string & get_execute()
const {
return x_execute; };
1103 crypto_algo get_crypto_algo()
const {
return x_crypto; };
1104 const secu_string & get_crypto_pass()
const {
return x_pass; };
1105 U_32 get_crypto_size()
const {
return x_crypto_size; };
1106 const std::vector<std::string> & get_gnupg_recipients()
const {
return x_gnupg_recipients; };
1107 const std::vector<std::string> & get_gnupg_signatories()
const {
return x_gnupg_signatories; };
1109 const infinint & get_min_compr_size()
const {
return x_min_compr_size; };
1110 bool get_empty()
const {
return x_empty; };
1111 bool get_keep_compressed()
const {
return x_keep_compressed; };
1112 const std::string & get_slice_permission()
const {
return x_slice_permission; };
1113 const std::string & get_slice_user_ownership()
const {
return x_slice_user_ownership; };
1114 const std::string & get_slice_group_ownership()
const {
return x_slice_group_ownership; };
1115 bool get_decremental_mode()
const {
return x_decremental; };
1116 bool get_sequential_marks()
const {
return x_sequential_marks; };
1117 infinint get_sparse_file_min_size()
const {
return x_sparse_file_min_size; };
1118 const std::string & get_user_comment()
const {
return x_user_comment; };
1119 hash_algo get_hash_algo()
const {
return x_hash; };
1120 infinint get_slice_min_digits()
const {
return x_slice_min_digits; };
1121 const std::shared_ptr<entrepot> & get_entrepot()
const {
return x_entrepot; };
1122 const fsa_scope & get_fsa_scope()
const {
return x_scope; };
1123 bool get_multi_threaded()
const {
return x_multi_threaded; };
1124 bool get_delta_signature()
const {
return x_delta_signature; };
1125 const mask & get_delta_mask()
const {
return *x_delta_mask; }
1126 bool get_has_delta_mask_been_set()
const {
return has_delta_mask_been_set; };
1127 const infinint & get_delta_sig_min_size()
const {
return x_delta_sig_min_size; };
1128 const infinint & get_iteration_count()
const {
return x_iteration_count; };
1129 hash_algo get_kdf_hash()
const {
return x_kdf_hash; };
1130 delta_sig_block_size get_sig_block_len()
const {
return x_sig_block_len; };
1134 std::shared_ptr<archive> x_ref;
1139 crit_action * x_overwrite;
1140 bool x_info_details;
1141 bool x_display_treated;
1142 bool x_display_treated_only_dir;
1143 bool x_display_skipped;
1147 U_I x_compression_level;
1148 infinint x_file_size;
1149 infinint x_first_file_size;
1151 std::string x_execute;
1155 std::vector<std::string> x_gnupg_recipients;
1156 std::vector<std::string> x_gnupg_signatories;
1158 infinint x_min_compr_size;
1160 bool x_keep_compressed;
1161 std::string x_slice_permission;
1162 std::string x_slice_user_ownership;
1163 std::string x_slice_group_ownership;
1165 bool x_sequential_marks;
1166 infinint x_sparse_file_min_size;
1167 std::string x_user_comment;
1169 infinint x_slice_min_digits;
1170 std::shared_ptr<entrepot> x_entrepot;
1172 bool x_multi_threaded;
1173 bool x_delta_signature;
1175 bool has_delta_mask_been_set;
1176 infinint x_delta_sig_min_size;
1177 infinint x_iteration_count;
1179 delta_sig_block_size x_sig_block_len;
1181 void destroy() noexcept;
1182 void copy_from(const archive_options_merge & ref);
1183 void move_from(archive_options_merge && ref) noexcept;
1184 void nullifyptr() noexcept;
1196 enum t_dirty { dirty_ignore, dirty_warn, dirty_ok };
1230 void set_display_treated(
bool display_treated,
bool only_dir) { x_display_treated = display_treated; x_display_treated_only_dir = only_dir; };
1257 void set_dirty_behavior(
bool ignore,
bool warn) { x_dirty = ignore ? dirty_ignore : (warn ? dirty_warn : dirty_ok); };
1263 void set_overwriting_rules(
const crit_action & over);
1284 const mask & get_subtree()
const {
if(
x_subtree ==
nullptr)
throw SRC_BUG;
return *
x_subtree; };
1285 bool get_warn_over()
const {
return x_warn_over; };
1286 bool get_info_details()
const {
return x_info_details; };
1287 bool get_display_treated()
const {
return x_display_treated; };
1288 bool get_display_treated_only_dir()
const {
return x_display_treated_only_dir; };
1289 bool get_display_skipped()
const {
return x_display_skipped; };
1290 const mask & get_ea_mask()
const {
if(
x_ea_mask ==
nullptr)
throw SRC_BUG;
return *
x_ea_mask; };
1291 bool get_flat()
const {
return x_flat; };
1293 bool get_warn_remove_no_match()
const {
return x_warn_remove_no_match; };
1294 bool get_empty()
const {
return x_empty; };
1295 bool get_empty_dir()
const {
return x_empty_dir; };
1296 t_dirty get_dirty_behavior()
const {
return x_dirty; }
1297 const crit_action & get_overwriting_rules()
const {
if(x_overwrite ==
nullptr)
throw SRC_BUG;
return *x_overwrite; };
1298 bool get_only_deleted()
const {
return x_only_deleted; };
1299 bool get_ignore_deleted()
const {
return x_ignore_deleted; };
1300 const fsa_scope & get_fsa_scope()
const {
return x_scope; };
1306 bool x_info_details;
1307 bool x_display_treated;
1308 bool x_display_treated_only_dir;
1309 bool x_display_skipped;
1313 bool x_warn_remove_no_match;
1317 crit_action *x_overwrite;
1318 bool x_only_deleted;
1319 bool x_ignore_deleted;
1322 void destroy() noexcept;
1323 void nullifyptr() noexcept;
1324 void copy_from(const archive_options_extract & ref);
1325 void move_from(archive_options_extract && ref) noexcept;
1346 virtual void clear();
1376 void set_user_slicing(
const infinint & slicing_first,
const infinint & slicing_others);
1387 bool get_info_details()
const {
return x_info_details; };
1388 const mask & get_selection()
const;
1389 const mask & get_subtree()
const;
1390 bool get_filter_unsaved()
const {
return x_filter_unsaved; };
1391 bool get_user_slicing(infinint & slicing_first, infinint & slicing_others)
const;
1392 bool get_slicing_location()
const {
return x_slicing_location; };
1393 bool get_display_ea()
const {
return x_display_ea; };
1396 bool x_info_details;
1399 bool x_filter_unsaved;
1400 infinint *x_slicing_first;
1401 infinint *x_slicing_others;
1402 bool x_slicing_location;
1405 void destroy() noexcept;
1406 void nullifyptr() noexcept;
1407 void copy_from(const archive_options_listing & ref);
1408 void move_from(archive_options_listing && ref) noexcept;
1416 class archive_options_diff
1419 archive_options_diff() { nullifyptr();
clear(); };
1420 archive_options_diff(
const archive_options_diff & ref) { copy_from(ref); };
1421 archive_options_diff(archive_options_diff && ref) noexcept { nullifyptr(); move_from(std::move(ref)); };
1422 archive_options_diff & operator = (
const archive_options_diff & ref) { destroy(); copy_from(ref);
return *
this; };
1423 archive_options_diff & operator = (archive_options_diff && ref) noexcept { move_from(std::move(ref));
return *
this; };
1424 ~archive_options_diff() { destroy(); };
1443 void set_info_details(
bool info_details) { x_info_details = info_details; };
1448 void set_display_treated(
bool display_treated,
bool only_dir) { x_display_treated = display_treated; x_display_treated_only_dir = only_dir; };
1468 x_alter_atime = alter_atime;
1475 void set_hourshift(
const infinint & hourshift) { x_hourshift = hourshift; };
1478 void set_compare_symlink_date(
bool compare_symlink_date) { x_compare_symlink_date = compare_symlink_date; };
1488 const mask & get_subtree()
const {
if(
x_subtree ==
nullptr)
throw SRC_BUG;
return *
x_subtree; };
1489 bool get_info_details()
const {
return x_info_details; };
1490 bool get_display_treated()
const {
return x_display_treated; };
1491 bool get_display_treated_only_dir()
const {
return x_display_treated_only_dir; };
1492 bool get_display_skipped()
const {
return x_display_skipped; };
1493 const mask & get_ea_mask()
const {
if(
x_ea_mask ==
nullptr)
throw SRC_BUG;
return *
x_ea_mask; };
1495 bool get_alter_atime()
const {
return x_alter_atime; };
1496 bool get_furtive_read_mode()
const {
return x_furtive_read; };
1497 const infinint & get_hourshift()
const {
return x_hourshift; };
1498 bool get_compare_symlink_date()
const {
return x_compare_symlink_date; };
1499 const fsa_scope & get_fsa_scope()
const {
return x_scope; };
1504 bool x_info_details;
1505 bool x_display_treated;
1506 bool x_display_treated_only_dir;
1507 bool x_display_skipped;
1512 bool x_furtive_read;
1513 infinint x_hourshift;
1514 bool x_compare_symlink_date;
1517 void destroy() noexcept;
1518 void nullifyptr() noexcept;
1519 void copy_from(const archive_options_diff & ref);
1520 void move_from(archive_options_diff && ref) noexcept;
1566 void set_display_treated(
bool display_treated,
bool only_dir) { x_display_treated = display_treated; x_display_treated_only_dir = only_dir; };
1576 const mask & get_subtree()
const {
if(
x_subtree ==
nullptr)
throw SRC_BUG;
return *
x_subtree; };
1577 bool get_info_details()
const {
return x_info_details; };
1578 bool get_display_treated()
const {
return x_display_treated; };
1579 bool get_display_treated_only_dir()
const {
return x_display_treated_only_dir; };
1580 bool get_display_skipped()
const {
return x_display_skipped; };
1581 bool get_empty()
const {
return x_empty; };
1586 bool x_info_details;
1587 bool x_display_treated;
1588 bool x_display_treated_only_dir;
1589 bool x_display_skipped;
1592 void destroy() noexcept;
1593 void nullifyptr() noexcept;
1594 void copy_from(const archive_options_test & ref);
1595 void move_from(archive_options_test && ref) noexcept;
1645 void set_display_treated(
bool display_treated,
bool only_dir) { x_display_treated = display_treated; x_display_treated_only_dir = only_dir; };
1663 x_file_size = file_size;
1664 if(first_file_size.is_zero())
1665 x_first_file_size = file_size;
1667 x_first_file_size = first_file_size;
1681 void set_execute(
const std::string & execute) { x_execute = execute; };
1699 void set_gnupg_recipients(
const std::vector<std::string> & gnupg_recipients) { x_gnupg_recipients = gnupg_recipients; };
1703 void set_gnupg_signatories(
const std::vector<std::string> & gnupg_signatories) { x_gnupg_signatories = gnupg_signatories; };
1729 void set_entrepot(
const std::shared_ptr<entrepot> & entr) {
if(!entr)
throw Erange(
"archive_options_repair::set_entrepot",
"null entrepot pointer given in argument"); x_entrepot = entr; };
1738 bool get_allow_over()
const {
return x_allow_over; };
1739 bool get_warn_over()
const {
return x_warn_over; };
1740 bool get_info_details()
const {
return x_info_details; };
1741 bool get_display_treated()
const {
return x_display_treated; };
1742 bool get_display_treated_only_dir()
const {
return x_display_treated_only_dir; };
1743 bool get_display_skipped()
const {
return x_display_skipped; };
1744 bool get_display_finished()
const {
return x_display_finished; };
1745 const infinint & get_pause()
const {
return x_pause; };
1746 const infinint & get_slice_size()
const {
return x_file_size; };
1747 const infinint & get_first_slice_size()
const {
return x_first_file_size; };
1748 const std::string & get_execute()
const {
return x_execute; };
1749 crypto_algo get_crypto_algo()
const {
return x_crypto; };
1750 const secu_string & get_crypto_pass()
const {
return x_pass; };
1751 U_32 get_crypto_size()
const {
return x_crypto_size; };
1752 const std::vector<std::string> & get_gnupg_recipients()
const {
return x_gnupg_recipients; };
1753 const std::vector<std::string> & get_gnupg_signatories()
const {
return x_gnupg_signatories; };
1754 bool get_empty()
const {
return x_empty; };
1755 const std::string & get_slice_permission()
const {
return x_slice_permission; };
1756 const std::string & get_slice_user_ownership()
const {
return x_slice_user_ownership; };
1757 const std::string & get_slice_group_ownership()
const {
return x_slice_group_ownership; };
1758 const std::string & get_user_comment()
const {
return x_user_comment; };
1759 hash_algo get_hash_algo()
const {
return x_hash; };
1760 infinint get_slice_min_digits()
const {
return x_slice_min_digits; };
1761 const std::shared_ptr<entrepot> & get_entrepot()
const {
return x_entrepot; };
1762 bool get_multi_threaded()
const {
return x_multi_threaded; };
1767 bool x_info_details;
1768 bool x_display_treated;
1769 bool x_display_treated_only_dir;
1770 bool x_display_skipped;
1771 bool x_display_finished;
1773 infinint x_file_size;
1774 infinint x_first_file_size;
1775 std::string x_execute;
1779 std::vector<std::string> x_gnupg_recipients;
1780 std::vector<std::string> x_gnupg_signatories;
1782 std::string x_slice_permission;
1783 std::string x_slice_user_ownership;
1784 std::string x_slice_group_ownership;
1785 std::string x_user_comment;
1787 infinint x_slice_min_digits;
1788 std::shared_ptr<entrepot> x_entrepot;
1789 bool x_multi_threaded;
1791 void nullifyptr() noexcept {};
1792 void copy_from(
const archive_options_repair & ref);
1793 void move_from(archive_options_repair && ref) noexcept;