29 #include "../my_config.h"
71 const datetime & last_access,
72 const datetime & last_modif,
73 const datetime & last_change,
74 const std::string & xname,
85 const
infinint & get_uid()
const {
return uid; };
86 const infinint & get_gid()
const {
return gid; };
87 U_16 get_perm()
const {
return perm; };
88 datetime get_last_access()
const {
return last_acc; };
89 datetime get_last_modif()
const {
return last_mod; };
90 void set_last_access(
const datetime & x_time) { last_acc = x_time; };
91 void set_last_modif(
const datetime & x_time) { last_mod = x_time; };
92 saved_status get_saved_status()
const {
return xsaved; };
93 void set_saved_status(saved_status x) { xsaved = x; };
94 infinint get_device()
const {
if(fs_dev ==
nullptr)
throw SRC_BUG;
return *fs_dev; };
96 bool same_as(
const cat_inode & ref)
const;
97 bool is_more_recent_than(
const cat_inode & ref,
const infinint & hourshift)
const;
99 virtual bool has_changed_since(
const cat_inode & ref,
const infinint & hourshift,
comparison_fields what_to_check)
const;
103 void compare(
const cat_inode &other,
104 const mask & ea_mask,
106 const infinint & hourshift,
108 const fsa_scope & scope,
109 bool isolated_mode)
const;
123 enum ea_status { ea_none, ea_partial, ea_fake, ea_full, ea_removed };
131 void ea_set_saved_status(ea_status status);
132 ea_status ea_get_saved_status()
const {
return ea_saved; };
135 void ea_attach(ea_attributs *ref);
136 const ea_attributs *get_ea()
const;
137 void ea_detach()
const;
138 infinint ea_get_size()
const;
141 void ea_set_offset(
const infinint & pos);
142 bool ea_get_offset(infinint & pos)
const;
143 void ea_set_crc(
const crc & val);
144 void ea_get_crc(
const crc * & ptr)
const;
145 bool ea_get_crc_size(infinint & val)
const;
148 datetime get_last_change()
const {
return last_cha; };
149 void set_last_change(
const datetime & x_time) { last_cha = x_time; };
150 bool has_last_change()
const {
return !last_cha.is_null(); };
166 enum fsa_status { fsa_none, fsa_partial, fsa_full };
169 void fsa_set_saved_status(fsa_status status);
170 fsa_status fsa_get_saved_status()
const {
return fsa_saved; };
172 fsa_scope
fsa_get_families()
const {
if(fsa_families ==
nullptr)
throw SRC_BUG;
return infinint_to_fsa_scope(*fsa_families); };
177 void fsa_attach(filesystem_specific_attribute_list *ref);
178 void fsa_partial_attach(
const fsa_scope & val);
179 const filesystem_specific_attribute_list *get_fsa()
const;
180 void fsa_detach()
const;
184 void fsa_set_offset(
const infinint & pos);
185 bool fsa_get_offset(
infinint & pos)
const;
186 void fsa_set_crc(
const crc & val);
187 void fsa_get_crc(
const crc * & ptr)
const;
188 bool fsa_get_crc_size(
infinint & val)
const;
191 virtual void sub_compare(
const cat_inode & other,
bool isolated_mode)
const {};
192 bool get_small_read()
const {
return small_read; };
195 void inherited_dump(
const pile_descriptor & pdesc,
bool small)
const;
207 fsa_status fsa_saved;
218 infinint *fsa_families;
219 infinint *fsa_offset;
220 filesystem_specific_attribute_list *fsal;
225 archive_version edit;
230 void copy_from(
const cat_inode & ref);
232 static const ea_attributs empty_ea;
base class of all objects contained in a catalogue and that can be named
are defined here basic integer types that tend to be portable
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...
class generic_file is defined here as well as class fichierthe generic_file interface is widely used ...
This is a pure virtual class that is used by libdar when interaction with the user is required...
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...
the base class for all entry that have a name
filesystem specific attributes
fsa_scope fsa_get_families() const
gives the set of FSA family recorded for that inode
switch module to limitint (32 ou 64 bits integers) or infinint
here lies a collection of mask classes
exception used to signal a bug. A bug is triggered when reaching some code that should never be reach...
this file contains the definition of class datetime that stores unix times in a portable way ...
compression engine implementation
the root class for all cat_inode
the arbitrary large positive integer class
class archive_version manages the version of the archive format
comparison_fields
flag used to only consider certain fields when comparing/restoring inodes
contains a set of routines to manage EA values associated to a file
libdar namespace encapsulate all libdar symbols