| Disk ARchive 2.5.10 Full featured and portable backup and archiving tool

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
libdar::cat_entree Class Referenceabstract
Private

the root class from all other inherite for any entry in the catalogue More...

`#include <cat_entree.hpp>`

Inherits libdar::on_pool.

Inherited by libdar::cat_eod, and libdar::cat_nomme.

## Public Member Functions
| cat_entree (const smart_pointer< pile_descriptor > &pdesc, bool small)
| cat_entree ()
| setup an object when read from filesystem
virtual | ~cat_entree () throw (Ebug)
| destructor
virtual bool | operator== (const cat_entree &ref) const
| returns true if the two object have the same content
bool | operator!= (const cat_entree &ref) const
void | dump (const pile_descriptor &pdesc, bool small) const
void | specific_dump (const pile_descriptor &pdesc, bool small) const
virtual void | post_constructor (const pile_descriptor &pdesc)
virtual unsigned char | signature () const =0
| inherited class signature
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
virtual void | change_location (const smart_pointer< pile_descriptor > &pdesc)
Public Member Functions inherited from libdar::on_pool
void * | operator new (size_t n_byte)
void * | operator new (size_t n_byte, const std::nothrow_t &nothrow_value)
void * | operator new[] (size_t n_byte)
void * | operator new[] (size_t n_byte, const std::nothrow_t &nothrow_value)
void * | operator new (size_t n_byte, memory_pool *p)
void * | operator new[] (size_t n_byte, memory_pool *p)
void | operator delete (void *ptr, memory_pool *p)
| this operator is called by the compiler if an exception is throw from the constructor of the allocated object
void | operator delete[] (void *ptr, memory_pool *p)
| this operator is called by the compiler if an exception is throw from the constructor of the allocated objects
void | operator delete (void *ptr)
| this is the usual delete operator, modified to handle allocated objects allocated on a memory pool or not
void | operator delete[] (void *ptr)
| this is the usual delete[] operator, modified to handle allocated objects allocated on a memory pool or not

## Static Public Member Functions
static cat_entree * | read (user_interaction &dialog, memory_pool *pool, 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)

## Protected Member Functions
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 overloaded method
pile * | get_pile () const
| stack used to read object from (nullptr is returned for object created from filesystem)
compressor * | get_compressor_layer () const
escape * | get_escape_layer () const
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, FSA or Data part)
Protected Member Functions inherited from libdar::on_pool
memory_pool * | get_pool () const
template<class T >
void | meta_new (T *&ptr, size_t num)
template<class T >
void | meta_delete (T *ptr)

## Detailed Description

the root class from all other inherite for any entry in the catalogue

Definition at line 85 of file cat_entree.hpp.

## Constructor & Destructor Documentation

libdar::cat_entree::cat_entree | ( | const smart_pointer< pile_descriptor > & | pdesc,
|  | bool | small
| ) |  |

setup an object when read from an archive

Parameters

  [in] | pdesc | points to an existing stack that will be read from to setup fields of inherited classes, this pointed to pile object must survive the whole life of the cat_entree object
  [in] | small | whether a small or a whole read is to be read, (inode has been dump() with small set to true)

## Member Function Documentation

virtual void libdar::cat_entree::change_location | ( | const smart_pointer< pile_descriptor > & | pdesc | ) |
| virtual

for archive merging, will let the object drop EA, FSA and Data to an alternate stack than the one it has been read from

Note
  this is used when cloning an object from a catalogue to provide a merged archive. Such cloned object must point the stack of the archive under construction, so we use this call for that need,
  this is also used when opening a catalogue if an isolated catalogue in place of the internal catalogue of an archive
  this method is virtual for cat_directory to overwrite it and propagate the change to all entries of the directory tree as well for mirage to propagate the change to the hard linked inode

Reimplemented in libdar::cat_directory, and libdar::cat_mirage.

Referenced by libdar::cat_mirage::change_location().

void libdar::cat_entree::dump | ( | const pile_descriptor & | pdesc,
|  | bool | small
| ) |  | const

write down the object information to a stack

Parameters

  [in,out] | pdesc | is the stack where to write the data to
  [in] | small | defines whether to do a small or normal dump

compressor* libdar::cat_entree::get_compressor_layer | ( |  | ) | const
| inline protected

compressor generic_file relative methods

Note
  CAUTION: the pointer to object is member of the get_pile() stack and may be managed by another thread all precaution like get_pile()->flush_read_above(get_compressor_layer() shall be take to avoid concurrent access to the compressor object by the current thread and the thread managing this object

Definition at line 180 of file cat_entree.hpp.

References libdar::smart_pointer< T >::is_null().

escape* libdar::cat_entree::get_escape_layer | ( |  | ) | const
| inline protected

escape generic_file relative methods

Note
  CAUTION: the pointer to object is member of the get_pile() stack and may be managed by another thread all precaution like get_pile()->flush_read_above(get_escape_layer() shall be take to avoid concurrent access to the compressor object by the current thread and the thread managing this object

Definition at line 187 of file cat_entree.hpp.

References libdar::smart_pointer< T >::is_null().

virtual void libdar::cat_entree::post_constructor | ( | const pile_descriptor & | pdesc | ) |
| inline virtual

let inherited classes build object's data after CRC has been read from file in small read mode

Parameters

  [in] | pdesc | stack to read the data from

Note
  used from cat_entree::read to complete small read
  this method is called by cat_entree::read and mirage::post_constructor only when contructing an object with small set to true

Reimplemented in libdar::cat_file, and libdar::cat_mirage.

Definition at line 149 of file cat_entree.hpp.

static cat_entree* libdar::cat_entree::read | ( | user_interaction & | dialog,
|  | memory_pool * | pool,
|  | 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
| ) |  |
| static

read and create an object of inherited class of class cat_entree

Parameters

  [in] | dialog | for user interaction
  [in] | pool | for memory allocation (nullptr if special_alloc not activated)
  [in] | f | where from to read data in order to create the object
  [in] | reading_ver | archive version format to use for reading
  [in,out] | stats | updated statistical fields
  [in,out] | corres | used to setup hard links
  [in] | default_algo | default compression algorithm
  [in] | lax | whether to use relax mode
  [in] | only_detruit | whether to only consider detruit objects (in addition to the directory tree)
  [in] | small | whether the dump() to read has been done with the small argument set

void libdar::cat_entree::specific_dump | ( | const pile_descriptor & | pdesc,
|  | bool | small
| ) |  | const
| inline

this call gives an access to inherited_dump

Parameters

  [in,out] | pdesc | is the stack where to write the data to
  [in] | small | defines whether to do a small or normal dump

Definition at line 142 of file cat_entree.hpp.

References inherited_dump().

The documentation for this class was generated from the following file:

- cat_entree.hpp