libdar::cat_inode Class Reference
Private

the root class for all cat_inode More...

`#include <cat_inode.hpp>`

Inherits libdar::cat_nomme.

Inherited by libdar::cat_device, libdar::cat_directory, libdar::cat_file, libdar::cat_ignored_dir, libdar::cat_lien, libdar::cat_prise, and libdar::cat_tube.

## Public Member Functions

| cat_inode (const infinint &xuid, const infinint &xgid, U_16 xperm, const datetime &last_access, const datetime &last_modif, const datetime &last_change, const std::string &xname, const infinint &device)
| flag used to only consider certain fields when comparing/restoring inodes
| cat_inode (const std::shared_ptr< user_interaction > &dialog, const smart_pointer< pile_descriptor > &pdesc, const archive_version &reading_ver, saved_status saved, bool small)
| cat_inode (const cat_inode &ref)
| cat_inode (cat_inode &&ref) noexcept
cat_inode & | operator= (const cat_inode &ref)
cat_inode & | operator= (cat_inode &&ref) noexcept
const infinint & | get_uid () const
const infinint & | get_gid () const
U_16 | get_perm () const
datetime | get_last_access () const
datetime | get_last_modif () const
void | set_last_access (const datetime &x_time)
void | set_last_modif (const datetime &x_time)
infinint | get_device () const
bool | same_as (const cat_inode &ref) const
bool | is_more_recent_than (const cat_inode &ref, const infinint &hourshift) const
virtual bool | has_changed_since (const cat_inode &ref, const infinint &hourshift, comparison_fields what_to_check) const
void | compare (const cat_inode &other, const mask &ea_mask, comparison_fields what_to_check, const infinint &hourshift, bool symlink_date, const fsa_scope &scope, bool isolated_mode) const
| do not try to compare pointed to data, EA of FSA (suitable for isolated catalogue)
void | ea_set_saved_status (ea_saved_status status)
ea_saved_status | ea_get_saved_status () const
void | ea_attach (ea_attributs *ref)
const ea_attributs * | get_ea () const
| the returned value is the address of an existing file of the cat_inode object and shall not be deleted by the caller
void | ea_detach () const
infinint | ea_get_size () const
void | ea_set_offset (const infinint &pos)
bool | ea_get_offset (infinint &pos) const
void | ea_set_crc (const crc &val)
void | ea_get_crc (const crc *&ptr) const
| the argument is set to point to an allocated crc object owned by this "cat_inode" object, this reference stays valid while the "cat_inode" object exists and MUST NOT be deleted by the caller in any case
bool | ea_get_crc_size (infinint &val) const
| returns true if crc is know and puts its width in argument
datetime | get_last_change () const
void | set_last_change (const datetime &x_time)
bool | has_last_change () const
void | fsa_set_saved_status (fsa_saved_status status)
fsa_saved_status | fsa_get_saved_status () const
fsa_scope | fsa_get_families () const
| gives the set of FSA family recorded for that inode More...
void | fsa_attach (filesystem_specific_attribute_list *ref)
void | fsa_partial_attach (const fsa_scope &val)
const filesystem_specific_attribute_list * | get_fsa () const
void | fsa_detach () const
infinint | fsa_get_size () const
void | fsa_set_offset (const infinint &pos)
bool | fsa_get_offset (infinint &pos) const
void | fsa_set_crc (const crc &val)
void | fsa_get_crc (const crc *&ptr) const
bool | fsa_get_crc_size (infinint &val) const
Public Member Functions inherited from libdar::cat_nomme
| cat_nomme (const std::string &name, saved_status arg)
| cat_nomme (const smart_pointer< pile_descriptor > &pdesc, bool small, saved_status val)
| cat_nomme (const cat_nomme &ref)=default
| cat_nomme (cat_nomme &&ref) noexcept=default
cat_nomme & | operator= (const cat_nomme &ref)=default
cat_nomme & | operator= (cat_nomme &&ref) noexcept=default
virtual bool | operator== (const cat_entree &ref) const override
| returns true if the two object are the same More...
virtual bool | operator< (const cat_nomme &ref) const
const std::string & | get_name () const
void | change_name (const std::string &x)
bool | same_as (const cat_nomme &ref) const
Public Member Functions inherited from libdar::cat_entree
| cat_entree (saved_status val)
| setup an object when read from filesystem More...
| cat_entree (const smart_pointer< pile_descriptor > &pdesc, bool small, saved_status val)
| setup an object when read from an archive More...
| cat_entree (const cat_entree &ref)=default
| cat_entree (cat_entree &&ref) noexcept=default
cat_entree & | operator= (const cat_entree &ref)=default
cat_entree & | operator= (cat_entree &&ref) noexcept=default
virtual | ~cat_entree () noexcept(false)
| destructor More...
virtual bool | operator== (const cat_entree &ref) const =0
| returns true if the two object are the same More...
bool | operator!= (const cat_entree &ref) const
bool | same_as (const cat_entree &ref) const
| return true of the two objects would generate the same entry on filsystem More...
void | dump (const pile_descriptor &pdesc, bool small) const
| write down the object information to a stack More...
void | specific_dump (const pile_descriptor &pdesc, bool small) const
| this call gives an access to inherited_dump More...
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 More...
virtual unsigned char | signature () const =0
| inherited class signature More...
virtual std::string | get_description () const =0
| inherited class designation More...
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 More...
virtual void | change_location (const smart_pointer< pile_descriptor > &pdesc)
saved_status | get_saved_status () const
| obtain the saved status of the object More...
void | set_saved_status (saved_status x)
| modify the saved_status of the object More...
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 More...

## Protected Member Functions

virtual void | sub_compare (const cat_inode &other, bool isolated_mode) const
bool | get_small_read () const
virtual void | inherited_dump (const pile_descriptor &pdesc, bool small) const override
| true if object has been created by sequential reading of an archive More...
virtual void | inherited_dump (const pile_descriptor &pdesc, bool small) const override
| inherited class may overload this method but shall first call the parent's inherited_dump() in the overloaded method More...
Protected Member Functions inherited from libdar::cat_entree
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 More...
pile * | get_pile () const
| stack used to read object from (nullptr is returned for object created from filesystem) More...
proto_compressor * | get_compressor_layer () const
| compressor generic_file relative methods More...
escape * | get_escape_layer () const
| escape generic_file relative methods More...
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)

## Private Member Functions

void | nullifyptr () noexcept
void | destroy () noexcept
void | copy_from (const cat_inode &ref)
void | move_from (cat_inode &&ref) noexcept

## Private Attributes

infinint | uid
| inode owner's user ID More...
infinint | gid
| inode owner's group ID More...
U_16 | perm
| inode's permission More...
datetime | last_acc
| last access time (atime) More...
datetime | last_mod
| last modification time (mtime) More...
datetime | last_cha
| last inode meta data change (ctime) More...
ea_saved_status | ea_saved
| inode Extended Attribute status More...
fsa_saved_status | fsa_saved
| inode Filesystem Specific Attribute status More...
bool | small_read
| whether we the object has been built with sequential-reading More...
infinint * | ea_offset
| offset in archive where to find EA More...
ea_attributs * | ea
| Extended Attributes read or to be written down. More...
infinint * | ea_size
| storage size required by EA More...
crc * | ea_crc
| CRC computed on EA. More...
infinint * | fsa_families
| list of FSA families present for that inode (set to nullptr in fsa_none mode) More...
infinint * | fsa_offset
| offset in archive where to find FSA # always allocated (to be reviewed) More...
filesystem_specific_attribute_list * | fsal
| Filesystem Specific Attributes read or to be written down # only allocated if fsa_saved if set to FULL. More...
infinint * | fsa_size
| storage size required for FSA More...
crc * | fsa_crc
| CRC computed on FSA. More...
infinint * | fs_dev
| filesystem ID on which resides the inode (only used when read from filesystem) More...
archive_version | edit
| need to know EA and FSA format used in archive file More...

## Static Private Attributes

static const ea_attributs | empty_ea

## Additional Inherited Members

Static Public Member Functions inherited from libdar::cat_entree
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 More...

## Detailed Description

the root class for all cat_inode

Definition at line 52 of file cat_inode.hpp.

## Constructor & Destructor Documentation

## cat_inode()

libdar::cat_inode::cat_inode | ( | cat_inode && | ref | ) |

inline noexcept

Definition at line 72 of file cat_inode.hpp.

## Member Function Documentation

## ea_get_saved_status()

ea_saved_status libdar::cat_inode::ea_get_saved_status | ( |  | ) | const

inline

Definition at line 115 of file cat_inode.hpp.

## fsa_get_families()

fsa_scope libdar::cat_inode::fsa_get_families | ( |  | ) | const

inline

gives the set of FSA family recorded for that inode

Definition at line 150 of file cat_inode.hpp.

References fsa_families.

## fsa_get_saved_status()

fsa_saved_status libdar::cat_inode::fsa_get_saved_status | ( |  | ) | const

inline

Definition at line 148 of file cat_inode.hpp.

## get_device()

infinint libdar::cat_inode::get_device | ( |  | ) | const

inline

Definition at line 84 of file cat_inode.hpp.

## get_gid()

const infinint & libdar::cat_inode::get_gid | ( |  | ) | const

inline

Definition at line 78 of file cat_inode.hpp.

## get_last_access()

datetime libdar::cat_inode::get_last_access | ( |  | ) | const

inline

Definition at line 80 of file cat_inode.hpp.

## get_last_change()

datetime libdar::cat_inode::get_last_change | ( |  | ) | const

inline

Definition at line 133 of file cat_inode.hpp.

## get_last_modif()

datetime libdar::cat_inode::get_last_modif | ( |  | ) | const

inline

Definition at line 81 of file cat_inode.hpp.

## get_perm()

U_16 libdar::cat_inode::get_perm | ( |  | ) | const

inline

Definition at line 79 of file cat_inode.hpp.

## get_small_read()

bool libdar::cat_inode::get_small_read | ( |  | ) | const

inline protected

Definition at line 170 of file cat_inode.hpp.

## get_uid()

const infinint & libdar::cat_inode::get_uid | ( |  | ) | const

inline

Definition at line 77 of file cat_inode.hpp.

## has_last_change()

bool libdar::cat_inode::has_last_change | ( |  | ) | const

inline

Definition at line 135 of file cat_inode.hpp.

## inherited_dump()

virtual void libdar::cat_inode::inherited_dump | ( | const pile_descriptor & | pdesc,
|  | bool | small
| ) |  | const

override protected virtual

true if object has been created by sequential reading of an archive

Reimplemented from libdar::cat_nomme.

Reimplemented in libdar::cat_device, libdar::cat_directory, libdar::cat_file, libdar::cat_ignored_dir, and libdar::cat_lien.

## operator=()

cat_inode & libdar::cat_inode::operator= | ( | cat_inode && | ref | ) |

inline noexcept

Definition at line 74 of file cat_inode.hpp.

## set_last_access()

void libdar::cat_inode::set_last_access | ( | const datetime & | x_time | ) |

inline

Definition at line 82 of file cat_inode.hpp.

## set_last_change()

void libdar::cat_inode::set_last_change | ( | const datetime & | x_time | ) |

inline

Definition at line 134 of file cat_inode.hpp.

## set_last_modif()

void libdar::cat_inode::set_last_modif | ( | const datetime & | x_time | ) |

inline

Definition at line 83 of file cat_inode.hpp.

## sub_compare()

virtual void libdar::cat_inode::sub_compare | ( | const cat_inode & | other,
|  | bool | isolated_mode
| ) |  | const

inline protected virtual

Definition at line 169 of file cat_inode.hpp.

## Member Data Documentation

## ea

ea_attributs* libdar::cat_inode::ea

private

Extended Attributes read or to be written down.

Definition at line 190 of file cat_inode.hpp.

## ea_crc

crc* libdar::cat_inode::ea_crc

private

CRC computed on EA.

Definition at line 193 of file cat_inode.hpp.

## ea_offset

infinint* libdar::cat_inode::ea_offset

private

offset in archive where to find EA

Definition at line 189 of file cat_inode.hpp.

## ea_saved

ea_saved_status libdar::cat_inode::ea_saved

private

inode Extended Attribute status

Definition at line 183 of file cat_inode.hpp.

## ea_size

infinint* libdar::cat_inode::ea_size

private

storage size required by EA

Definition at line 191 of file cat_inode.hpp.

## edit

archive_version libdar::cat_inode::edit

private

need to know EA and FSA format used in archive file

Definition at line 202 of file cat_inode.hpp.

## empty_ea

const ea_attributs libdar::cat_inode::empty_ea

static private

Definition at line 210 of file cat_inode.hpp.

## fs_dev

infinint* libdar::cat_inode::fs_dev

private

filesystem ID on which resides the inode (only used when read from filesystem)

Definition at line 201 of file cat_inode.hpp.

## fsa_crc

crc* libdar::cat_inode::fsa_crc

private

CRC computed on FSA.

Definition at line 199 of file cat_inode.hpp.

## fsa_families

infinint* libdar::cat_inode::fsa_families

private

list of FSA families present for that inode (set to nullptr in fsa_none mode)

Definition at line 195 of file cat_inode.hpp.

Referenced by fsa_get_families().

## fsa_offset

infinint* libdar::cat_inode::fsa_offset

private

offset in archive where to find FSA # always allocated (to be reviewed)

Definition at line 196 of file cat_inode.hpp.

## fsa_saved

fsa_saved_status libdar::cat_inode::fsa_saved

private

inode Filesystem Specific Attribute status

Definition at line 184 of file cat_inode.hpp.

## fsa_size

infinint* libdar::cat_inode::fsa_size

private

storage size required for FSA

Definition at line 198 of file cat_inode.hpp.

## fsal

filesystem_specific_attribute_list* libdar::cat_inode::fsal

private

Filesystem Specific Attributes read or to be written down # only allocated if fsa_saved if set to FULL.

Definition at line 197 of file cat_inode.hpp.

## gid

infinint libdar::cat_inode::gid

private

inode owner's group ID

Definition at line 178 of file cat_inode.hpp.

## last_acc

datetime libdar::cat_inode::last_acc

private

last access time (atime)

Definition at line 180 of file cat_inode.hpp.

## last_cha

datetime libdar::cat_inode::last_cha

private

last inode meta data change (ctime)

Definition at line 182 of file cat_inode.hpp.

## last_mod

datetime libdar::cat_inode::last_mod

private

last modification time (mtime)

Definition at line 181 of file cat_inode.hpp.

## perm

U_16 libdar::cat_inode::perm

private

inode's permission

Definition at line 179 of file cat_inode.hpp.

## small_read

bool libdar::cat_inode::small_read

private

whether we the object has been built with sequential-reading

Definition at line 186 of file cat_inode.hpp.

## uid

infinint libdar::cat_inode::uid

private

inode owner's user ID

Definition at line 177 of file cat_inode.hpp.

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

- cat_inode.hpp