29 #include "../my_config.h"
71 const std::string & base_name,
72 const std::string & extension,
77 const std::string & execute =
"");
104 const std::string & base_name,
105 const std::string & extension,
108 bool x_warn_overwrite,
109 bool x_allow_overwrite,
112 const label & data_name,
113 const std::string & slice_permission,
114 const std::string & slice_user_ownership,
115 const std::string & slice_group_ownership,
118 bool format_07_compatible,
119 const std::string & execute =
"");
135 infinint get_sub_file_size()
const {
return size; };
136 infinint get_first_sub_file_size()
const {
return first_size; };
137 bool get_total_file_number(infinint &num)
const { num = of_last_file_num;
return of_last_file_known; };
138 bool get_last_file_size(infinint &num)
const { num = of_last_file_size;
return of_last_file_known; };
141 void disable_natural_destruction() { natural_destruction =
false; };
144 void enable_natural_destruction() { natural_destruction =
true; };
147 bool is_an_old_start_end_archive()
const {
return old_sar; };
150 const label & get_internal_name_used()
const {
return of_internal_name; };
153 const label & get_data_name()
const {
return of_data_name; };
172 std::string slice_user;
173 std::string slice_group;
176 bool natural_destruction;
183 bool of_last_file_known;
186 label of_internal_name;
194 bool opt_warn_overwrite;
195 bool opt_allow_overwrite;
201 bool skip_forward(U_I x);
202 bool skip_backward(U_I x);
203 void close_file(
bool terminal);
204 void open_readonly(
const char *fic,
const infinint &num);
205 void open_writeonly(
const char *fic,
const infinint &num);
206 void open_file_init();
209 void open_last_file();
210 bool is_current_eof_a_normal_end_of_slice()
const;
211 infinint bytes_still_to_read_in_slice()
const;
215 void hook_execute(
const infinint &num);
226 const std::string & base_name,
227 const std::string & extension,
229 const label & data_name,
230 const std::string & execute,
233 const std::string & slice_permission,
234 const std::string & slice_user_ownership,
235 const std::string & slice_group_ownership,
238 bool format_07_compatible);
243 const std::string & pipename,
250 const label & data_name,
251 bool format_07_compatible,
252 const std::string & execute);
268 bool is_an_old_start_end_archive()
const {
return old_sar; };
269 const label & get_data_name()
const {
return of_data_name; };
292 const label & data_name,
293 const std::string & execute);
299 extern std::string
sar_make_filename(
const std::string & base_name,
const infinint & num,
const infinint & min_digits,
const std::string & ext);