26 #ifndef CAT_ENTREE_HPP
27 #define CAT_ENTREE_HPP
29 #include "../my_config.h"
76 void clear() { num_x = num_d = num_f = num_c = num_b = num_p
77 = num_s = num_l = num_D = num_hard_linked_inodes
78 = num_hard_link_entries = saved = total = 0; };
101 const pile_descriptor & f,
104 std::map <infinint, cat_etoile *> & corres,
115 cat_entree(
const pile_descriptor & pdesc,
bool small);
129 bool operator != (
const cat_entree & ref)
const {
return ! (*
this == ref); };
135 void dump(
const pile_descriptor & pdesc,
bool small)
const;
151 virtual unsigned char signature()
const = 0;
168 virtual void inherited_dump(
const pile_descriptor & pdesc,
bool small)
const;
192 static const U_I ENTREE_CRC_SIZE;
194 pile_descriptor pdesc;
197 extern bool compatible_signature(
unsigned char a,
unsigned char b);
198 extern unsigned char mk_signature(
unsigned char base, saved_status state);
199 extern unsigned char get_base_signature(
unsigned char a);
virtual ~cat_entree()
destructor
holds the statistics contents of a catalogue
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...
class pile definition. Used to manage a stack of generic_file objects
This is a pure virtual class that is used by libdar when interaction with the user is required...
compressor * get_compressor_layer() const
pile * get_pile() const
stack used to read object from (nullptr is returned for object created from filesystem) ...
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 ...
void specific_dump(const pile_descriptor &pdesc, bool small) const
virtual unsigned char signature() const =0
inherited class signature
defines the interaction between libdar and the user.Three classes are defined
class escape definition, used for sequential reading of archivesThe class escape is used to insert es...
virtual bool operator==(const cat_entree &ref) const
returns true if the two object have the same content
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...
switch module to limitint (32 ou 64 bits integers) or infinint
static cat_entree * read(user_interaction &dialog, memory_pool *pool, const 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)
escape * get_escape_layer() const
compression class for gzip and bzip2 algorithms
exception used to signal a bug. A bug is triggered when reaching some code that should never be reach...
compression
the different compression algorithm available
this is the interface class from which all other data transfer classes inherit
virtual void change_location(const pile_descriptor &pdesc)
void dump(const pile_descriptor &pdesc, bool small) const
compression engine implementation
class archive_version that rules which archive format to follow
this is the base class of object that can be allocated on a memory pool
the arbitrary large positive integer class
class archive_version manages the version of the archive format
the root class from all other inherite for any entry in the catalogue
cat_entree()
setup an object when read from filesystem
virtual void post_constructor(const pile_descriptor &pdesc)
libdar namespace encapsulate all libdar symbols