| Disk ARchive 2.5.10 Full featured and portable backup and archiving tool

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | List of all members
libdar::filesystem_hard_link_write Class Reference
Private

keep trace of already written inodes to restore hard links More...

`#include <filesystem.hpp>`

Inherits libdar::mem_ui, and libdar::on_pool.

Inherited by libdar::filesystem_restore.

## Public Member Functions
| filesystem_hard_link_write (user_interaction &dialog)
| filesystem_hard_link_write (const filesystem_hard_link_write &ref)
const filesystem_hard_link_write & | operator= (const filesystem_hard_link_write &ref)
void | write_hard_linked_target_if_not_set (const cat_mirage *ref, const std::string &chemin)
bool | known_etiquette (const infinint &eti)
void | clear_corres_if_pointing_to (const infinint &ligne, const std::string &path)
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 | corres_reset ()
void | make_file (const cat_nomme *ref, const path &ou, bool dir_perm, cat_inode::comparison_fields what_to_check, const fsa_scope &scope)
bool | raw_set_ea (const cat_nomme *e, const ea_attributs &list_ea, const std::string &spot, const mask &ea_mask)
| add the given EA matching the given mask to the file pointed to by "e" and spot More...
bool | raw_clear_ea_set (const cat_nomme *e, const std::string &path)
| remove EA set from filesystem's file, allows subsequent raw_set_ea More...
Protected Member Functions inherited from libdar::mem_ui
user_interaction & | get_ui () const
| get access to the user_interaction cloned object More...
| mem_ui (const user_interaction &dialog)
| constructor More...
| mem_ui (user_interaction *dialog)
| mem_ui (const mem_ui &ref)
| the copy constructor More...
virtual | ~mem_ui () throw (Ebug)
| destructor More...
const mem_ui & | operator= (const mem_ui &ref)
| assignement operator More...
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)
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

## Detailed Description

keep trace of already written inodes to restore hard links

Definition at line 224 of file filesystem.hpp.

## Member Function Documentation

void libdar::filesystem_hard_link_write::clear_corres_if_pointing_to | ( | const infinint & | ligne,
|  | const std::string & | path
| ) |  |

forget everything about a hard link if the path used to build subsequent hard links is the one given in argument

Parameters

  [in] | ligne | is the etiquette number for that hard link
  [in] | path | if the internaly recorded path to build subsequent hard link to that inode is equal to path, forget everything about this hard linked inode

bool libdar::filesystem_hard_link_write::raw_clear_ea_set | ( | const cat_nomme * | e,
|  | const std::string & | path
| ) |  |
| protected

remove EA set from filesystem's file, allows subsequent raw_set_ea

Parameters

  [in] | e | this object may be a hard link to or an inode
  [in] | path | the path in the filesystem where reside the object whose EA to clear

Returns
  true if EA could be cleared, false if "e" is a hard link to an inode that has its EA already restored previously

bool libdar::filesystem_hard_link_write::raw_set_ea | ( | const cat_nomme * | e,
|  | const ea_attributs & | list_ea,
|  | const std::string & | spot,
|  | const mask & | ea_mask
| ) |  |
| protected

add the given EA matching the given mask to the file pointed to by "e" and spot

Parameters

  [in] | e | may be an inode or a hard link to an inode,
  [in] | list_ea | the list of EA to restore
  [in] | spot | the path where to restore these EA (full path required, including the filename of 'e')
  [in] | ea_mask | the EA entry to restore from the list_ea (other entries are ignored)

Returns
  true if EA could be restored, false if "e" is a hard link to an inode that has its EA already restored previously

Note
  the list_ea EA are restored to spot path, the object e is only here to validate that this operation has not already been done through another hard linked inode to that same inode

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

- filesystem.hpp