26 #ifndef CAT_MIRAGE_HPP 27 #define CAT_MIRAGE_HPP 29 #include "../my_config.h" 50 enum mirage_format {fmt_mirage,
54 cat_mirage(
const std::string & name,
cat_etoile *ref) :
cat_nomme(name) { star_ref = ref;
if(ref ==
nullptr)
throw SRC_BUG; star_ref->add_ref(
this); };
60 std::map <infinint, cat_etoile *> & corres,
70 std::map <infinint, cat_etoile *> & corres,
74 cat_mirage(
const cat_mirage & ref) :
cat_nomme (ref) { star_ref = ref.star_ref;
if(star_ref ==
nullptr)
throw SRC_BUG; star_ref->add_ref(
this); };
83 cat_inode *get_inode()
const {
if(star_ref ==
nullptr)
throw SRC_BUG;
return star_ref->get_inode(); };
84 infinint get_etiquette()
const {
return star_ref->get_etiquette(); };
85 infinint get_etoile_ref_count()
const {
return star_ref->get_ref_count(); };
86 cat_etoile *get_etoile()
const {
return star_ref; };
88 bool is_inode_counted()
const {
return star_ref->is_counted(); };
89 bool is_inode_wrote()
const {
return star_ref->is_wrote(); };
90 bool is_inode_dumped()
const {
return star_ref->is_dumped(); };
91 void set_inode_counted(
bool val)
const { star_ref->set_counted(val); };
92 void set_inode_wrote(
bool val)
const { star_ref->set_wrote(val); };
93 void set_inode_dumped(
bool val)
const { star_ref->set_dumped(val); };
104 void inherited_dump(
const pile_descriptor & pdesc,
bool small)
const;
114 std::map <infinint, cat_etoile *> & corres,
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...
base class of all objects contained in a catalogue and that can be named
memory_pool * get_pool() const
the hard link implementation (etoile means star in French, seen a star as a point from which are thro...
holds the statistics contents of a catalogue
unsigned char signature() const
inherited class signature
cat_entree * clone() const
a way to copy the exact type of an object even if pointed to by a parent class pointer ...
class holding an cat_inode object that get pointed by multiple mirage objects (smart pointers) to rec...
This is a pure virtual class that is used by libdar when interaction with the user is required...
the hard link implementation, cat_mirage is the named entry owned by a directory it points to a commo...
void post_constructor(const pile_descriptor &pdesc)
the base class for all entry that have a name
virtual void change_location(const smart_pointer< pile_descriptor > &pdesc)
bool is_first_mirage() const
whether we are the mirage that triggered this hard link creation
bool operator==(const cat_entree &ref) const
returns true if the two object have the same content
compression
the different compression algorithm available
virtual void change_location(const smart_pointer< pile_descriptor > &pdesc)
the root class for all cat_inode
the arbitrary large positive integer class
the root class from all other inherite for any entry in the catalogue
libdar namespace encapsulate all libdar symbols