33 #include "../my_config.h"
75 const std::string & base_name,
76 const std::string & extension,
81 const std::string & execute =
"");
107 const std::string & base_name,
108 const std::string & extension,
111 bool x_warn_overwrite,
112 bool x_allow_overwrite,
115 const label & data_name,
116 const std::string & slice_permission,
117 const std::string & slice_user_ownership,
118 const std::string & slice_group_ownership,
121 const std::string & execute =
"");
137 infinint get_sub_file_size()
const {
return size; };
138 infinint get_first_sub_file_size()
const {
return first_size; };
139 bool get_total_file_number(infinint &num)
const { num = of_last_file_num;
return of_last_file_known; };
140 bool get_last_file_size(infinint &num)
const { num = of_last_file_size;
return of_last_file_known; };
143 void disable_natural_destruction() { natural_destruction =
false; };
146 void enable_natural_destruction() { natural_destruction =
true; };
149 bool is_an_old_start_end_archive()
const {
return old_sar; };
152 const label & get_internal_name_used()
const {
return of_internal_name; };
155 const label & get_data_name()
const {
return of_data_name; };
174 std::string slice_user;
175 std::string slice_group;
178 bool natural_destruction;
185 bool of_last_file_known;
188 label of_internal_name;
196 bool opt_warn_overwrite;
197 bool opt_allow_overwrite;
203 bool skip_forward(U_I x);
204 bool skip_backward(U_I x);
205 void close_file(
bool terminal);
206 void open_readonly(
const char *fic,
const infinint &num);
207 void open_writeonly(
const char *fic,
const infinint &num);
208 void open_file_init();
211 void open_last_file();
212 bool is_current_eof_a_normal_end_of_slice()
const;
213 infinint bytes_still_to_read_in_slice()
const;
217 void hook_execute(
const infinint &num);
228 const std::string & base_name,
229 const std::string & extension,
231 const label & data_name,
232 const std::string & execute,
235 const std::string & slice_permission,
236 const std::string & slice_user_ownership,
237 const std::string & slice_group_ownership,
243 const std::string & pipename,
250 const label & data_name,
251 const std::string & execute);
267 bool is_an_old_start_end_archive()
const {
return old_sar; };
268 const label & get_data_name()
const {
return of_data_name; };
291 const label & data_name,
292 const std::string & execute);
298 extern std::string
sar_make_filename(
const std::string & base_name,
const infinint & num,
const infinint & min_digits,
const std::string & ext);