26 #ifndef CAT_ENTREE_HPP
27 #define CAT_ENTREE_HPP
29 #include "../my_config.h"
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;
206 static const U_I ENTREE_CRC_SIZE;
class archive_version that rules which archive format to follow
class archive_version manages the version of the archive format
the root class from all other inherite for any entry in the catalogue
proto_compressor * get_compressor_layer() const
compressor generic_file relative methods
pile * get_pile() const
stack used to read object from (nullptr is returned for object created from filesystem)
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...
bool same_as(const cat_entree &ref) const
return true of the two objects would generate the same entry on filsystem
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,...
void specific_dump(const pile_descriptor &pdesc, bool small) const
this call gives an access to inherited_dump
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
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
saved_status get_saved_status() const
obtain the saved status of the object
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
cat_entree(saved_status val)
setup an object when read from filesystem
virtual unsigned char signature() const =0
inherited class signature
virtual ~cat_entree() noexcept(false)
destructor
saved_status xsaved
inode data status, this field is stored with signature() in the cat_signature field -> must be manage...
void set_saved_status(saved_status x)
modify the saved_status of the object
virtual std::string get_description() const =0
inherited class designation
cat_entree(const smart_pointer< pile_descriptor > &pdesc, bool small, saved_status val)
setup an object when read from an archive
virtual void change_location(const smart_pointer< pile_descriptor > &pdesc)
virtual bool operator==(const cat_entree &ref) const =0
returns true if the two object are the same
void dump(const pile_descriptor &pdesc, bool small) const
write down the object information to a stack
escape * get_escape_layer() const
escape generic_file relative methods
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
this is the interface class from which all other data transfer classes inherit
stores a stack of generic_files writing/reading on each others
bool is_null() const
return whether the smart_pointer is pointing to nullptr
datastructure holding the nature of file present in a given archive
class escape definition, used for sequential reading of archives
compression
the different compression algorithm available
const char * cat_entree_signature2string(unsigned char sign)
convert a signature char to a human readable string
saved_status
data saved status for an entry
switch module to limitint (32 ou 64 bits integers) or infinint
class of objects describing an entry in the archive, used by archive::get_children_in_table
libdar namespace encapsulate all libdar symbols
class pile definition. Used to manage a stack of generic_file objects
optimization structure to quickly access some commonly used layers of a stack of generic_file
abstracted ancestor class for compressor and parallel_compressor classes
object describing the slicing of an archive
template class implementing memory efficient smart pointer
holds the statistics contents of a catalogue
defines the interaction interface between libdar and users.