30 #include "../my_config.h"
64 const std::string & basename,
65 const std::string & extension,
91 const path & sauv_path,
92 const std::string & filename,
93 const std::string & extension,
107 const path &sauv_path,
109 const std::string & filename,
110 const std::string & extension,
132 const path & sauv_path,
134 const std::string & filename,
135 const std::string & extension,
206 const path & fs_root,
207 const archive_options_diff & options,
247 const std::string & dir);
279 enum operation { oper_create, oper_isolate, oper_merge };
284 infinint local_cat_size;
288 bool sequential_read;
291 catalogue & get_cat() {
if(cat == NULL)
throw SRC_BUG;
else return *cat; };
292 const header_version & get_header()
const {
return ver; };
293 const path & get_path() {
if(local_path == NULL)
throw SRC_BUG;
else return *local_path; };
295 bool get_sar_param(infinint & sub_file_size, infinint & first_file_size, infinint & last_file_size,
296 infinint & total_file_number);
297 infinint get_level2_size();
298 infinint get_cat_size()
const {
return local_cat_size; };
300 statistics op_create_in(user_interaction & dialog,
302 const path & fs_root,
303 const path & sauv_path,
305 const mask & selection,
306 const mask & subtree,
307 const std::string & filename,
308 const std::string & extension,
312 const infinint & pause,
315 U_I compression_level,
316 const infinint & file_size,
317 const infinint & first_file_size,
318 const mask & ea_mask,
319 const std::string & execute,
321 const secu_string & pass,
323 const mask & compr_mask,
324 const infinint & min_compr_size,
326 const infinint & hourshift,
329 bool furtive_read_mode,
333 bool cache_directory_tagging,
334 bool display_skipped,
335 const infinint & fixed_date,
336 const std::string & slice_permission,
337 const std::string & slice_user_ownership,
338 const std::string & slice_group_ownership,
339 const infinint & repeat_count,
340 const infinint & repeat_byte,
341 bool add_marks_for_sequential_reading,
343 const infinint & sparse_file_min_size,
344 const std::string & user_comment,
346 const infinint & slice_min_digits,
347 const std::string & backup_hook_file_execute,
348 const mask & backup_hook_file_mask,
350 statistics * progressive_report);
352 void op_create_in_sub(user_interaction & dialog,
354 const path & fs_root,
355 const path & sauv_path_t,
356 catalogue * ref_arch1,
357 catalogue * ref_arch2,
358 const path * ref_path,
359 const mask & selection,
360 const mask & subtree,
361 const std::string & filename,
362 const std::string & extension,
364 const crit_action & overwrite,
367 const infinint & pause,
370 U_I compression_level,
371 const infinint & file_size,
372 const infinint & first_file_size,
373 const mask & ea_mask,
374 const std::string & execute,
376 const secu_string & pass,
378 const mask & compr_mask,
379 const infinint & min_compr_size,
381 const infinint & hourshift,
384 bool furtive_read_mode,
388 bool cache_directory_tagging,
389 bool display_skipped,
390 bool keep_compressed,
391 const infinint & fixed_date,
392 const std::string & slice_permission,
393 const std::string & slice_user_ownership,
394 const std::string & slice_group_ownership,
395 const infinint & repeat_count,
396 const infinint & repeat_byte,
398 bool add_marks_for_sequential_reading,
400 const infinint & sparse_file_min_size,
401 const std::string & user_comment,
403 const infinint & slice_min_digits,
404 const std::string & backup_hook_file_execute,
405 const mask & backup_hook_file_mask,
407 statistics * st_ptr);
409 void disable_natural_destruction();
410 void enable_natural_destruction();
411 const label & get_layer1_data_name()
const;
412 const label & get_catalogue_data_name()
const;
413 bool only_contains_an_isolated_catalogue()
const;
414 void check_against_isolation(user_interaction & dialog,
bool lax)
const;
415 void check_header_version()
const;
statistics op_extract(user_interaction &dialog, const path &fs_root, const archive_options_extract &options, statistics *progressive_report)
extraction of data from an archive
const catalogue & get_catalogue() const
gives access to internal catalogue (not to be used from the API)
the catalogue class which gather all objects contained in a give archive
holds the statistics contents of a catalogue
statistics op_diff(user_interaction &dialog, const path &fs_root, const archive_options_diff &options, statistics *progressive_report)
archive comparison with filesystem
const char * dar_gettext(const char *)
a routine to change NLS domaine forth and back for inline routines
class holding optional parameters used to test the structure coherence of an existing archive ...
archive(const archive &ref)
copy constructor (not implemented, throw an exception if called explicitely or implicitely) ...
class pile definition. Used to manage a stack of generic_file objects
const entree_stats get_stats() const
retrieving statistics about archive contents
This is a pure virtual class that is used by libdar when interaction with the user is required...
comparison_fields
flag used to only consider certain fields when comparing/restoring inodes
the archive class realizes the most general operations on archives
crypto_algo
the different cypher available for encryption (strong or weak)
here is the definition of the path classthe path class handle path and provide several operation on t...
class escape_catalogue definition. Used for sequential writing to archives, as well as several other ...
exception used when a requested feature is not (yet) implemented
handle the statistic structure that gives a summary of treated files after each operatio ...
class escape definition, used for sequential reading of archivesThe class escape is used to insert es...
archive(user_interaction &dialog, const path &chem, const std::string &basename, const std::string &extension, const archive_options_read &options)
this constructor opens an already existing archive (for reading) [this is the "read" constructor] ...
void summary(user_interaction &dialog)
display a summary of the archive
contains all the excetion class thrown by libdar
compression
the different compression algorithm available
this file contains a set of classes used to transmit options to archive operation ...
bool nodump()
returns whether nodump flag support has been activated at compilation time
void drop_all_filedescriptors()
closes all filedescriptors and associated data, just keep the catalogue
void op_listing(user_interaction &dialog, const archive_options_listing &options)
listing of the archive contents
contains the definition of the scrambler class, a very weak encryption scheme
class holding optional parameters used to list the contents of an existing archive ...
class holding optional parameters used to read an existing archive
class holding optional parameters used to proceed to the merge operation
statistics op_test(user_interaction &dialog, const archive_options_test &options, statistics *progressive_report)
test the archive integrity
class holding optional parameters used to create an archive
class holding optional parameters used to isolate an existing archive
bool get_children_of(user_interaction &dialog, const std::string &dir)
getting information about a given directory
structure returned by libdar call to give a summary of the operation done in term of file treated ...
the class path is here to manipulate paths in the Unix notation: using'/'