26 #ifndef TRIVIAL_SAR_HPP 27 #define TRIVIAL_SAR_HPP 29 #include "../my_config.h" 61 const std::string & base_name,
62 const std::string & extension,
64 const label & internal_nale,
65 const label & data_name,
66 const std::string & execute,
69 bool force_permission,
73 bool format_07_compatible);
78 const std::string & pipename,
85 const label & internal_name,
86 const label & data_name,
87 bool format_07_compatible,
88 const std::string & execute);
104 bool is_an_old_start_end_archive()
const {
return old_sar; };
105 const label & get_data_name()
const {
return of_data_name; };
129 std::string hook_where;
131 void init(
const label & internal_name);
defines the entrepot interface. Entrepot interface defines a generic way to interact with files (slic...
void inherited_read_ahead(const infinint &amount)
void inherited_terminate()
destructor-like call, except that it is allowed to throw exceptions
void inherited_sync_write()
write down any pending data
are defined here basic integer types that tend to be portable
bool skip_to_eof()
skip to the end of file
class generic_file is defined here as well as class fichierthe generic_file interface is widely used ...
infinint get_position() const
get the current read/write position
This is a pure virtual class that is used by libdar when interaction with the user is required...
void inherited_write(const char *a, U_I size)
implementation of the write() operation
virtual void read_ahead(const infinint &amount)
trivial_sar(const trivial_sar &ref)
copy constructor (disabled)
gf_mode
generic_file openning modes
object describing the slicing of an archive
bool skip_relative(S_I x)
skip relatively to the current position
const infinint & get_slice_header_size() const
size of the slice header
trivial_sar(const user_interaction &dialog, gf_mode open_mode, const std::string &base_name, const std::string &extension, const entrepot &where, const label &internal_nale, const label &data_name, const std::string &execute, bool allow_over, bool warn_over, bool force_permission, U_I permission, hash_algo x_hash, const infinint &min_digits, bool format_07_compatible)
constructor to build a new single sliced archive
here is the definition of the path classthe path class handle path and provide several operation on t...
bool is_terminated() const
switch module to limitint (32 ou 64 bits integers) or infinint
U_I inherited_read(char *a, U_I size)
implementation of read() operation
bool skippable(skippability direction, const infinint &amount)
std::string sar_make_filename(const std::string &base_name, const infinint &num, const infinint &min_digits, const std::string &ext)
return the name of a slice given the base_name, slice number and extension
this is the interface class from which all other data transfer classes inherit
class mem_ui to keep a copy of a user_interaction object
void inherited_flush_read()
the arbitrary large positive integer class
bool skip(const infinint &pos)
virtual bool skip_to_eof()=0
skip to the end of file
libdar namespace encapsulate all libdar symbols
virtual bool skippable(skippability direction, const infinint &amount)=0