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

#include <filesystem_specific_attribute.hpp>

Inherits libdar::on_pool.

Inherited by libdar::fsa_bool, libdar::fsa_infinint, and libdar::fsa_time.

Public Member Functions

 filesystem_specific_attribute (fsa_family f)
 constructor used to before reading the FSA from filesystem More...
 
 filesystem_specific_attribute (generic_file &f, fsa_family xfam, fsa_nature xnat)
 constructor used to read a FSA from a libdar archive
 
virtual ~filesystem_specific_attribute () throw (Ebug)
 virtual destructor for inherited classes
 
bool is_same_type_as (const filesystem_specific_attribute &ref) const
 provide a mean to compare objects types
 
virtual bool operator== (const filesystem_specific_attribute &ref) const
 provides a mean to compare objects values
 
bool operator!= (const filesystem_specific_attribute &ref) const
 
bool operator< (const filesystem_specific_attribute &ref) const
 used to provided a sorted list of FSA
 
bool operator>= (const filesystem_specific_attribute &ref) const
 
bool operator> (const filesystem_specific_attribute &ref) const
 
bool operator<= (const filesystem_specific_attribute &ref) const
 
fsa_family get_family () const
 obtain the family of the FSA
 
fsa_nature get_nature () const
 obtain the nature of the FSA
 
virtual std::string show_val () const =0
 provides a human readable value of the FSA
 
virtual void write (generic_file &f) const =0
 write down to libdar archive
 
virtual infinint storage_size () const =0
 give the storage size for the FSA
 
virtual
filesystem_specific_attribute
clone () const =0
 provides a way to copy objects without having to know the more specific class of the object
 
- 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
 

Protected Member Functions

void set_family (const fsa_family &val)
 
void set_nature (const fsa_nature &val)
 
virtual bool equal_value_to (const filesystem_specific_attribute &ref) const =0
 should return true if the value of the argument is equal to the one of 'this' false in any other case (even for object of another inherited class)
 
- 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

Filesystem Specific Attributes (FSA) class

this class handle the storage of attributes into and from the archive the have not filesystem specific knownledge. This aspect is managed by filesystem_specific_attribute_list that upon system call will create the liste of FSA and given the list of FSA will try to set them back to the filesystem

Definition at line 67 of file filesystem_specific_attribute.hpp.

Constructor & Destructor Documentation

libdar::filesystem_specific_attribute::filesystem_specific_attribute ( fsa_family  f)
inline

constructor used to before reading the FSA from filesystem

Note
when the underlying filesystem does not support the requested EA the constructor of the inherited class should throw an exception of type Erange. Only valid object should be built, that is object containing the value of the FSA found on the filesystem.

Definition at line 76 of file filesystem_specific_attribute.hpp.


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