Disk ARchive  2.7.15
Full featured and portable backup and archiving tool
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
libdar::filesystem_specific_attribute Class Referenceabstract

Filesystem Specific Attributes (FSA) class. More...

#include <filesystem_specific_attribute.hpp>

+ Inheritance diagram for libdar::filesystem_specific_attribute:
+ Collaboration diagram for libdar::filesystem_specific_attribute:

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
 
 filesystem_specific_attribute (const filesystem_specific_attribute &ref)=default
 
 filesystem_specific_attribute (filesystem_specific_attribute &&ref) noexcept=default
 
filesystem_specific_attributeoperator= (const filesystem_specific_attribute &ref)=default
 
filesystem_specific_attributeoperator= (filesystem_specific_attribute &&ref) noexcept=default
 
virtual ~filesystem_specific_attribute () noexcept(false)
 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_attributeclone () const =0
 provides a way to copy objects without having to know the more specific class of the object
 

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)
 

Private Attributes

fsa_family fam
 
fsa_nature nat
 

Detailed Description

Filesystem Specific Attributes (FSA) class.

this class handle the storage of attributes into and from the archive it has 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

◆ filesystem_specific_attribute()

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: