Disk ARchive  2.5.10
Full featured and portable backup and archiving tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
Public Member Functions | List of all members
libdar::list_entry Class Reference

#include <list_entry.hpp>

Inherits libdar::on_pool.

Public Member Functions

const std::string & get_name () const
 
unsigned char get_type () const
 
bool is_dir () const
 
bool is_file () const
 
bool is_symlink () const
 
bool is_char_device () const
 
bool is_block_device () const
 
bool is_unix_socket () const
 
bool is_named_pipe () const
 
bool is_hard_linked () const
 
bool is_removed_entry () const
 
bool is_door_inode () const
 
bool has_data_present_in_the_archive () const
 
bool has_EA () const
 
bool has_EA_saved_in_the_archive () const
 
bool has_FSA () const
 
bool has_FSA_saved_in_the_archive () const
 
std::string get_uid () const
 
std::string get_gid () const
 
std::string get_perm () const
 
std::string get_last_access () const
 
std::string get_last_modif () const
 
std::string get_last_change () const
 
time_t get_last_access_s () const
 
time_t get_last_modif_s () const
 
time_t get_last_change_s () const
 
void get_last_access (datetime::time_unit tu, time_t &second, time_t &fraction) const
 
void get_last_modif (datetime::time_unit tu, time_t &second, time_t &fraction) const
 yet an alternative method to get the last modification date (see get_last_access() for details)
 
void get_last_change (datetime::time_unit tu, time_t &second, time_t &fraction) const
 yet an alternative method to get the last change date (see get_last_access() for details)
 
std::string get_file_size () const
 
std::string get_compression_ratio () const
 
bool is_sparse () const
 
std::string get_compression_algo () const
 
bool is_dirty () const
 
std::string get_link_target () const
 
std::string get_major () const
 
std::string get_minor () const
 
const range & get_slices () const
 
bool get_archive_offset_for_data (infinint &val) const
 
bool get_archive_offset_for_data (U_64 &val) const
 
std::string get_archive_offset_for_data () const
 
bool get_storage_size_for_data (infinint &val) const
 
bool get_storage_size_for_data (U_64 &val) const
 
std::string get_storage_size_for_data () const
 
bool get_archive_offset_for_EA (infinint &val) const
 
bool get_archive_offset_for_EA (U_64 &val) const
 
std::string get_archive_offset_for_EA () const
 
bool get_storage_size_for_EA (infinint &val) const
 amount of byte used to store the file's EA
 
bool get_storage_size_for_EA (U_64 &val) const
 
std::string get_storage_size_for_EA () const
 
bool get_archive_offset_for_FSA (infinint &val) const
 
bool get_archive_offset_for_FSA (U_64 &val) const
 
std::string get_archive_offset_for_FSA () const
 
bool get_storage_size_for_FSA (infinint &val) const
 amount of byte used to store the file's FSA
 
bool get_storage_size_for_FSA (U_64 &val) const
 
std::string get_storage_size_for_FSA () const
 
void set_name (const std::string &val)
 
void set_type (unsigned char val)
 
void set_hard_link (bool val)
 
void set_uid (const infinint &val)
 
void set_gid (const infinint &val)
 
void set_perm (U_16 val)
 
void set_last_access (const datetime &val)
 
void set_last_modif (const datetime &val)
 
void set_saved_status (saved_status val)
 
void set_ea_status (cat_inode::ea_status val)
 
void set_last_change (const datetime &val)
 
void set_fsa_status (cat_inode::fsa_status val)
 
void set_file_size (const infinint &val)
 
void set_storage_size (const infinint &val)
 
void set_is_sparse_file (bool val)
 
void set_compression_algo (compression val)
 
void set_dirtiness (bool val)
 
void set_link_target (const std::string &val)
 
void set_major (int val)
 
void set_minor (int val)
 
void set_slices (const range &sl)
 
void set_archive_offset_for_data (const infinint &val)
 
void set_storage_size_for_data (const infinint &val)
 
void set_archive_offset_for_EA (const infinint &val)
 
void set_storage_size_for_EA (const infinint &val)
 
void set_archive_offset_for_FSA (const infinint &val)
 
void set_storage_size_for_FSA (const infinint &val)
 
- 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
 

Additional Inherited Members

- 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 list_entry class provides mean to get information about a particular entry in the archive

it provides methods for libdar to fill up such object and methods for API user to read the information. Each information uses its own method, thus it will require several call to different method to get the full description of the object. This has the advantage to let the possiblity to add new fields in the future without breaking anything in API, and in consequences in user programs.

Definition at line 55 of file list_entry.hpp.

Member Function Documentation

bool libdar::list_entry::get_archive_offset_for_data ( infinint val) const
inline

offset in byte where to find first byte of data

Note
: return false if no data is present, else set the argument
: offset is counted whatever is the number of slice as if there all slice were sticked toghether. But the first bytes of each slice do not count as they hold the slice header. This one is variable but can be known using the archive::get_first_slice_header_size() and archive::get_non_first_slice_header_size() methods from the current archive class. If encryption is used it is not possible to translate precisely from archive offset to slice offset, the encryption layer depending on the algorithm used may introduce an additional shift between clear data offset an corresponding ciphered data offset.
if an U_64 cannot handle such large value, false is returned, you should use the infinint of std::string version of this method

Definition at line 130 of file list_entry.hpp.

bool libdar::list_entry::get_archive_offset_for_EA ( infinint val) const
inline

offset in byte whert to find the first byte of Extended Attributes

Note
see note for get_archive_offset_for_data(infinint)
if an U_64 cannot handle such large value, false is returned, you should use the infinint of std::string version of this method

Definition at line 147 of file list_entry.hpp.

bool libdar::list_entry::get_archive_offset_for_FSA ( infinint val) const
inline

offset in byte where to find the first byte of Filesystem Specific Attributes

Note
see note for get_archive_offset_for_data(infinint)
if an U_64 cannot handle such large value, false is returned, you should use the infinint of std::string version of this method

Definition at line 161 of file list_entry.hpp.

void libdar::list_entry::get_last_access ( datetime::time_unit  tu,
time_t &  second,
time_t &  fraction 
) const
inline

yet an alternative method to get last access time

Parameters
[in]tutime unit to be used to store fraction (libdar::datetime::tu_microsecond, libdar::datetime::tu_nanosecond,...)
[out]secondinteger number of second
[out]fractionremaining part of the time (expressed as tu unit) to be added to "second" to get the exact time

Definition at line 97 of file list_entry.hpp.

bool libdar::list_entry::get_storage_size_for_data ( infinint val) const
inline

amount of byte used to store the file's data

Note
if an U_64 cannot handle such large value, false is returned, you should use the infinint of std::string version of this method

Definition at line 138 of file list_entry.hpp.


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