26 #ifndef CAT_ENTREE_HPP 27 #define CAT_ENTREE_HPP 29 #include "../my_config.h" 73 static cat_entree *
read(
const std::shared_ptr<user_interaction> & dialog,
77 std::map <infinint, cat_etoile *> & corres,
111 bool operator != (
const cat_entree & ref)
const {
return ! (*
this == ref); };
126 void dump(
const pile_descriptor & pdesc,
bool small)
const;
142 virtual unsigned char signature()
const = 0;
182 virtual void inherited_dump(
const pile_descriptor & pdesc,
bool small)
const;
186 pile *
get_pile()
const {
return pdesc.is_null() ? nullptr : pdesc->stack; };
206 static const U_I ENTREE_CRC_SIZE;
void dump(const pile_descriptor &pdesc, bool small) const
write down the object information to a stack
const char * cat_entree_signature2string(unsigned char sign)
convert a signature char to a human readable string
datastructure holding the nature of file present in a given archive
saved_status
data saved status for an entry
holds the statistics contents of a catalogue
virtual bool operator==(const cat_entree &ref) const =0
returns true if the two object are the same
cat_entree(saved_status val)
setup an object when read from filesystem
void specific_dump(const pile_descriptor &pdesc, bool small) const
this call gives an access to inherited_dump
class of objects describing an entry in the archive, used by archive::get_children_in_table ...
class pile definition. Used to manage a stack of generic_file objects
void set_saved_status(saved_status x)
modify the saved_status of the object
object describing the slicing of an archive
virtual cat_entree * clone() const =0
a way to copy the exact type of an object even if pointed to by a parent class pointer ...
generic_file * get_read_cat_layer(bool small) const
return the adhoc layer in the stack to read from the catalogue objects (except the EA...
virtual unsigned char signature() const =0
inherited class signature
defines the interaction interface between libdar and users.
pile * get_pile() const
stack used to read object from (nullptr is returned for object created from filesystem) ...
saved_status xsaved
inode data status, this field is stored with signature() in the cat_signature field -> must be manage...
virtual ~cat_entree() noexcept(false)
destructor
class escape definition, used for sequential reading of archivesThe class escape is used to insert es...
stores a stack of generic_files writing/reading on each others
optimization structure to quickly access some commonly used layers of a stack of generic_file ...
virtual void inherited_dump(const pile_descriptor &pdesc, bool small) const
inherited class may overload this method but shall first call the parent's inherited_dump() in the ov...
template class implementing memory efficient smart pointer
switch module to limitint (32 ou 64 bits integers) or infinint
compression class for gzip and bzip2 algorithms
saved_status get_saved_status() const
obtain the saved status of the object
compression
the different compression algorithm available
this is the interface class from which all other data transfer classes inherit
escape * get_escape_layer() const
escape generic_file relative methods
compression engine implementation
static cat_entree * read(const std::shared_ptr< user_interaction > &dialog, const smart_pointer< pile_descriptor > &f, const archive_version &reading_ver, entree_stats &stats, std::map< infinint, cat_etoile *> &corres, compression default_algo, bool lax, bool only_detruit, bool small)
read and create an object of inherited class of class cat_entree
virtual void change_location(const smart_pointer< pile_descriptor > &pdesc)
class archive_version that rules which archive format to follow
void set_list_entry(const slice_layout *sly, bool fetch_ea, list_entry &ent) const
setup a list_entry object relative to the current cat_entree object
class archive_version manages the version of the archive format
the root class from all other inherite for any entry in the catalogue
virtual std::string get_description() const =0
inherited class designation
virtual void post_constructor(const pile_descriptor &pdesc)
let inherited classes build object's data after CRC has been read from file in small read mode ...
compressor * get_compressor_layer() const
compressor generic_file relative methods
libdar namespace encapsulate all libdar symbols
bool same_as(const cat_entree &ref) const
return true of the two objects would generate the same entry on filsystem