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

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
libdar::entrepot_local Class Reference
Private

`#include <entrepot_local.hpp>`

Inherits libdar::entrepot, and libdar::entrepot.

## Public Member Functions
| entrepot_local (const std::string &user, const std::string &group, bool x_furtive_mode)
| constructor
| entrepot_local (const entrepot_local &ref)
| entrepot_local (entrepot_local &&ref) noexcept
entrepot_local & | operator= (const entrepot_local &ref)
entrepot_local & | operator= (entrepot_local &&ref) noexcept
virtual std::string | get_url () const override
| full path of current directory + anything necessary to provide URL formated information
virtual void | read_dir_reset () const override
virtual bool | read_dir_next (std::string &filename) const override
| read the next filename of the current directory
virtual void | read_dir_reset_dirinfo () const override
| routines to read existing files with dir information
virtual bool | read_dir_next_dirinfo (std::string &filename, inode_type &tp) const override
| alternative to the method read_dir_next, should be implemented also
virtual void | create_dir (const std::string &dirname, U_I permission) override
| create a new directory in the current directory
virtual entrepot * | clone () const override
| done this way for homogeneity with open/inherited_open
| entrepot_local (const std::string &user, const std::string &group, bool x_furtive_mode)
| constructor
| entrepot_local (const entrepot_local &ref)
| entrepot_local (entrepot_local &&ref) noexcept
entrepot_local & | operator= (const entrepot_local &ref)
entrepot_local & | operator= (entrepot_local &&ref) noexcept
virtual std::string | get_url () const override
| full path of current directory + anything necessary to provide URL formated information
virtual void | read_dir_reset () const override
virtual bool | read_dir_next (std::string &filename) const override
| read the next filename of the current directory
virtual void | read_dir_reset_dirinfo () const override
| routines to read existing files with dir information
virtual bool | read_dir_next_dirinfo (std::string &filename, inode_type &tp) const override
| alternative to the method read_dir_next, should be implemented also
virtual void | create_dir (const std::string &dirname, U_I permission) override
| create a new directory in the current directory
virtual entrepot * | clone () const override
| done this way for homogeneity with open/inherited_open
Public Member Functions inherited from libdar::entrepot
| entrepot ()
| constructor
| entrepot (const entrepot &ref)=default
| copy constructor
| entrepot (entrepot &&ref) noexcept=default
| move constructor
entrepot & | operator= (const entrepot &ref)=default
| assignment operator
entrepot & | operator= (entrepot &&ref) noexcept=default
| move operator
virtual | ~entrepot ()=default
| destructor
bool | operator== (const entrepot &ref) const
| says whether two entrepot objects points to the same location
virtual void | set_location (const path &chemin)
| defines the directory where to proceed to future open() – this is a "chdir" semantics
virtual void | set_root (const path &p_root)
| defines the root to use if set_location is given a relative path
virtual path | get_full_path () const
| returns the full path of location
void | set_user_ownership (const std::string &x_user)
| set default ownership for files to be created thanks to the open() or create_dir() methods
void | set_group_ownership (const std::string &x_group)
virtual const path & | get_location () const
virtual const path & | get_root () const
| retreives relative to root path the current location points to
const std::string & | get_user_ownership () const
| retrieves the given root location
const std::string & | get_group_ownership () const
fichier_global * | open (const std::shared_ptr< user_interaction > &dialog, const std::string &filename, gf_mode mode, bool force_permission, U_I permission, bool fail_if_exists, bool erase, hash_algo algo, bool provide_a_plain_file=true) const
| defines the way to open a file and return a "class fichier_global" object as last argument upon success
virtual void | change_user_interaction (const std::shared_ptr< user_interaction > &new_dialog)
| change user_interaction if the implementation recorded it (at construction time for example)
virtual std::shared_ptr< user_interaction > | get_current_user_interaction () const
| get the current user_interaction if the implementation reocrded it at construction time (may be nullptr if not)
void | unlink (const std::string &filename) const
| remove the target file from the entrepot
| entrepot ()
| constructor
| entrepot (const entrepot &ref)=default
| copy constructor
| entrepot (entrepot &&ref) noexcept=default
| move constructor
entrepot & | operator= (const entrepot &ref)=default
| assignment operator
entrepot & | operator= (entrepot &&ref) noexcept=default
| move operator
virtual | ~entrepot ()=default
| destructor
bool | operator== (const entrepot &ref) const
| says whether two entrepot objects points to the same location
virtual void | set_location (const path &chemin)
| defines the directory where to proceed to future open() – this is a "chdir" semantics
virtual void | set_root (const path &p_root)
| defines the root to use if set_location is given a relative path
virtual path | get_full_path () const
| returns the full path of location
void | set_user_ownership (const std::string &x_user)
| set default ownership for files to be created thanks to the open() or create_dir() methods
void | set_group_ownership (const std::string &x_group)
virtual const path & | get_location () const
virtual const path & | get_root () const
| retreives relative to root path the current location points to
const std::string & | get_user_ownership () const
| retrieves the given root location
const std::string & | get_group_ownership () const
fichier_global * | open (const std::shared_ptr< user_interaction > &dialog, const std::string &filename, gf_mode mode, bool force_permission, U_I permission, bool fail_if_exists, bool erase, hash_algo algo, bool provide_a_plain_file=true) const
| defines the way to open a file and return a "class fichier_global" object as last argument upon success
virtual void | change_user_interaction (const std::shared_ptr< user_interaction > &new_dialog)
| change user_interaction if the implementation recorded it (at construction time for example)
virtual std::shared_ptr< user_interaction > | get_current_user_interaction () const
| get the current user_interaction if the implementation reocrded it at construction time (may be nullptr if not)
void | unlink (const std::string &filename) const
| remove the target file from the entrepot

## Protected Member Functions
virtual fichier_global * | inherited_open (const std::shared_ptr< user_interaction > &dialog, const std::string &filename, gf_mode mode, bool force_permission, U_I permission, bool fail_if_exists, bool erase) const override
virtual void | inherited_unlink (const std::string &filename) const override
virtual void | read_dir_flush () const override
| ends the read_dir_next, (no more entry available)
virtual fichier_global * | inherited_open (const std::shared_ptr< user_interaction > &dialog, const std::string &filename, gf_mode mode, bool force_permission, U_I permission, bool fail_if_exists, bool erase) const override
virtual void | inherited_unlink (const std::string &filename) const override
virtual void | read_dir_flush () const override
| ends the read_dir_next, (no more entry available)

## Private Member Functions
void | nullifyptr () noexcept
void | copy_from (const entrepot_local &ref)
void | move_from (entrepot_local &&ref) noexcept
void | detruit () const
void | nullifyptr () noexcept
void | copy_from (const entrepot_local &ref)
void | move_from (entrepot_local &&ref) noexcept
void | detruit () const

## Private Attributes
bool | furtive_mode
etage * | contents

## Detailed Description

implementation for entrepot to access to local filesystem

entrepot_local generates objects of class "fichier_local" inherited class of fichier_global

Definition at line 47 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## Constructor & Destructor Documentation

## ◆ entrepot_local() [1/6]

libdar::entrepot_local::entrepot_local | ( | const std::string & | user,
|  | const std::string & | group,
|  | bool | x_furtive_mode )

constructor

Parameters

  [in] | user | defines the default user ownership of files created by the entrepot::open() method
  [in] | group | defines the default group ownership of files created by the entrepot::open() method
  [in] | x_furtive_mode | whether to ask the operating system to make furtive read access (no mtime/atime/ctime modification)

References libdar::entrepot::entrepot(), and entrepot_local().

Referenced by clone(), and entrepot_local().

## ◆ entrepot_local() [2/6]

libdar::entrepot_local::entrepot_local | ( | const entrepot_local & | ref | ) |
| inline

Definition at line 57 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ entrepot_local() [3/6]

libdar::entrepot_local::entrepot_local | ( | entrepot_local && | ref | ) |
| inline noexcept

Definition at line 58 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ ~entrepot_local() [1/2]

libdar::entrepot_local::~entrepot_local | ( |  | ) |
| inline

Definition at line 61 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ entrepot_local() [4/6]

libdar::entrepot_local::entrepot_local | ( | const std::string & | user,
|  | const std::string & | group,
|  | bool | x_furtive_mode )

constructor

Parameters

  [in] | user | defines the default user ownership of files created by the entrepot::open() method
  [in] | group | defines the default group ownership of files created by the entrepot::open() method
  [in] | x_furtive_mode | whether to ask the operating system to make furtive read access (no mtime/atime/ctime modification)

References libdar::entrepot::entrepot(), and entrepot_local().

## ◆ entrepot_local() [5/6]

libdar::entrepot_local::entrepot_local | ( | const entrepot_local & | ref | ) |
| inline

Definition at line 57 of file src/libdar/entrepot_local.hpp.

## ◆ entrepot_local() [6/6]

libdar::entrepot_local::entrepot_local | ( | entrepot_local && | ref | ) |
| inline noexcept

Definition at line 58 of file src/libdar/entrepot_local.hpp.

## ◆ ~entrepot_local() [2/2]

libdar::entrepot_local::~entrepot_local | ( |  | ) |
| inline

Definition at line 61 of file src/libdar/entrepot_local.hpp.

## Member Function Documentation

## ◆ clone() [1/2]

virtual entrepot * libdar::entrepot_local::clone | ( |  | ) | const
| inline override virtual

done this way for homogeneity with open/inherited_open

generate a clone of "this"

Deprecated
  this method will disapear in the future it is only kept there to allow the APIv5 adaptation layer to work over APIv6

Implements libdar::entrepot.

Definition at line 74 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

References libdar::entrepot::entrepot(), and entrepot_local().

## ◆ clone() [2/2]

virtual entrepot * libdar::entrepot_local::clone | ( |  | ) | const
| inline override virtual

done this way for homogeneity with open/inherited_open

generate a clone of "this"

Deprecated
  this method will disapear in the future it is only kept there to allow the APIv5 adaptation layer to work over APIv6

Implements libdar::entrepot.

Definition at line 74 of file src/libdar/entrepot_local.hpp.

References libdar::entrepot::entrepot(), and entrepot_local().

## ◆ copy_from() [1/2]

void libdar::entrepot_local::copy_from | ( | const entrepot_local & | ref | ) |
| inline private

Definition at line 95 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ copy_from() [2/2]

void libdar::entrepot_local::copy_from | ( | const entrepot_local & | ref | ) |
| inline private

Definition at line 95 of file src/libdar/entrepot_local.hpp.

## ◆ create_dir() [1/2]

virtual void libdar::entrepot_local::create_dir | ( | const std::string & | dirname,
|  | U_I | permission )
| override virtual

create a new directory in the current directory

Parameters

  [in] | dirname | is the name of the subdirectory to create (not its path!) It is created in as sub-directory of the directory given to set_location()
  [in] | permission | is the usual POSIX user/group/other permission bits to set to the directory to create

Note
  the operation fails if an entry of that name already exists
  the implementation should set the user and group ownership according to the argument provided to set_user_ownership() and set_group_ownership(), if this feature is supported in the underlying implementation

Implements libdar::entrepot.

## ◆ create_dir() [2/2]

virtual void libdar::entrepot_local::create_dir | ( | const std::string & | dirname,
|  | U_I | permission )
| override virtual

create a new directory in the current directory

Parameters

  [in] | dirname | is the name of the subdirectory to create (not its path!) It is created in as sub-directory of the directory given to set_location()
  [in] | permission | is the usual POSIX user/group/other permission bits to set to the directory to create

Note
  the operation fails if an entry of that name already exists
  the implementation should set the user and group ownership according to the argument provided to set_user_ownership() and set_group_ownership(), if this feature is supported in the underlying implementation

Implements libdar::entrepot.

## ◆ detruit() [1/2]

void libdar::entrepot_local::detruit | ( |  | ) | const
| inline private

Definition at line 97 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ detruit() [2/2]

void libdar::entrepot_local::detruit | ( |  | ) | const
| inline private

Definition at line 97 of file src/libdar/entrepot_local.hpp.

## ◆ get_url() [1/2]

virtual std::string libdar::entrepot_local::get_url | ( |  | ) | const
| inline override virtual

full path of current directory + anything necessary to provide URL formated information

Implements libdar::entrepot.

Definition at line 63 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

References libdar::path::display(), and libdar::entrepot::get_full_path().

## ◆ get_url() [2/2]

virtual std::string libdar::entrepot_local::get_url | ( |  | ) | const
| inline override virtual

full path of current directory + anything necessary to provide URL formated information

Implements libdar::entrepot.

Definition at line 63 of file src/libdar/entrepot_local.hpp.

References libdar::path::display(), and libdar::entrepot::get_full_path().

## ◆ inherited_open() [1/2]

virtual fichier_global * libdar::entrepot_local::inherited_open | ( | const std::shared_ptr< user_interaction > & | dialog,
|  | const std::string & | filename,
|  | gf_mode | mode,
|  | bool | force_permission,
|  | U_I | permission,
|  | bool | fail_if_exists,
|  | bool | erase ) const
| override protected virtual

Implements libdar::entrepot.

## ◆ inherited_open() [2/2]

virtual fichier_global * libdar::entrepot_local::inherited_open | ( | const std::shared_ptr< user_interaction > & | dialog,
|  | const std::string & | filename,
|  | gf_mode | mode,
|  | bool | force_permission,
|  | U_I | permission,
|  | bool | fail_if_exists,
|  | bool | erase ) const
| override protected virtual

Implements libdar::entrepot.

## ◆ inherited_unlink() [1/2]

virtual void libdar::entrepot_local::inherited_unlink | ( | const std::string & | filename | ) | const
| override protected virtual

Implements libdar::entrepot.

## ◆ inherited_unlink() [2/2]

virtual void libdar::entrepot_local::inherited_unlink | ( | const std::string & | filename | ) | const
| override protected virtual

Implements libdar::entrepot.

## ◆ move_from() [1/2]

void libdar::entrepot_local::move_from | ( | entrepot_local && | ref | ) |
| inline private noexcept

Definition at line 96 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ move_from() [2/2]

void libdar::entrepot_local::move_from | ( | entrepot_local && | ref | ) |
| inline private noexcept

Definition at line 96 of file src/libdar/entrepot_local.hpp.

## ◆ nullifyptr() [1/2]

void libdar::entrepot_local::nullifyptr | ( |  | ) |
| inline private noexcept

Definition at line 94 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ nullifyptr() [2/2]

void libdar::entrepot_local::nullifyptr | ( |  | ) |
| inline private noexcept

Definition at line 94 of file src/libdar/entrepot_local.hpp.

## ◆ operator=() [1/2]

entrepot_local & libdar::entrepot_local::operator= | ( | entrepot_local && | ref | ) |
| inline noexcept

Definition at line 60 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ operator=() [2/2]

entrepot_local & libdar::entrepot_local::operator= | ( | entrepot_local && | ref | ) |
| inline noexcept

Definition at line 60 of file src/libdar/entrepot_local.hpp.

## ◆ read_dir_flush() [1/2]

virtual void libdar::entrepot_local::read_dir_flush | ( |  | ) | const
| inline override protected virtual

ends the read_dir_next, (no more entry available)

Implements libdar::entrepot.

Definition at line 88 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ read_dir_flush() [2/2]

virtual void libdar::entrepot_local::read_dir_flush | ( |  | ) | const
| inline override protected virtual

ends the read_dir_next, (no more entry available)

Implements libdar::entrepot.

Definition at line 88 of file src/libdar/entrepot_local.hpp.

## ◆ read_dir_next() [1/2]

virtual bool libdar::entrepot_local::read_dir_next | ( | std::string & | filename | ) | const
| override virtual

read the next filename of the current directory

Parameters

  [out] | filename | name of the next entry in the directory, (valid only if this method returned true)

Returns
  false if no more filename could be fould

Note
  either use read_dir_reset() followed by read_dir_next() calls, or call read_dir_reset_dirinfo() followed by read_dir_next_dirinfo() calls

Implements libdar::entrepot.

## ◆ read_dir_next() [2/2]

virtual bool libdar::entrepot_local::read_dir_next | ( | std::string & | filename | ) | const
| override virtual

read the next filename of the current directory

Parameters

  [out] | filename | name of the next entry in the directory, (valid only if this method returned true)

Returns
  false if no more filename could be fould

Note
  either use read_dir_reset() followed by read_dir_next() calls, or call read_dir_reset_dirinfo() followed by read_dir_next_dirinfo() calls

Implements libdar::entrepot.

## ◆ read_dir_next_dirinfo() [1/2]

virtual bool libdar::entrepot_local::read_dir_next_dirinfo | ( | std::string & | filename,
|  | inode_type & | tp ) const
| override virtual

alternative to the method read_dir_next, should be implemented also

Parameters

  [out] | filename | name of the next entry in the directory, (valid only if this method returned true)
  [out] | tp | gives the nature of the entry

Note
  a call to read_dir_reset_dirinfo() should be done before the first call to this method
  either use read_dir_reset() followed by read_dir_next() calls, or call read_dir_reset_dirinfo() followed by read_dir_next_dirinfo() calls

Implements libdar::entrepot.

## ◆ read_dir_next_dirinfo() [2/2]

virtual bool libdar::entrepot_local::read_dir_next_dirinfo | ( | std::string & | filename,
|  | inode_type & | tp ) const
| override virtual

alternative to the method read_dir_next, should be implemented also

Parameters

  [out] | filename | name of the next entry in the directory, (valid only if this method returned true)
  [out] | tp | gives the nature of the entry

Note
  a call to read_dir_reset_dirinfo() should be done before the first call to this method
  either use read_dir_reset() followed by read_dir_next() calls, or call read_dir_reset_dirinfo() followed by read_dir_next_dirinfo() calls

Implements libdar::entrepot.

## ◆ read_dir_reset() [1/2]

virtual void libdar::entrepot_local::read_dir_reset | ( |  | ) | const
| inline override virtual

Note
  dir_details does not matter for this implementation, both read_dir_next() can be used anytime.

Implements libdar::entrepot.

Definition at line 67 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

References read_dir_reset_dirinfo().

## ◆ read_dir_reset() [2/2]

virtual void libdar::entrepot_local::read_dir_reset | ( |  | ) | const
| inline override virtual

Note
  dir_details does not matter for this implementation, both read_dir_next() can be used anytime.

Implements libdar::entrepot.

Definition at line 67 of file src/libdar/entrepot_local.hpp.

References read_dir_reset_dirinfo().

## ◆ read_dir_reset_dirinfo() [1/2]

virtual void libdar::entrepot_local::read_dir_reset_dirinfo | ( |  | ) | const
| override virtual

routines to read existing files with dir information

to be used before calling read_dir_next_dirinfo().

Note
  after calling read_dir_reset_dirinfo() calling read_dir_next() gives undefined result, you first need to call read_dir_reset() or continue using read_dir_next_dirinfo()

Implements libdar::entrepot.

Referenced by read_dir_reset().

## ◆ read_dir_reset_dirinfo() [2/2]

virtual void libdar::entrepot_local::read_dir_reset_dirinfo | ( |  | ) | const
| override virtual

routines to read existing files with dir information

to be used before calling read_dir_next_dirinfo().

Note
  after calling read_dir_reset_dirinfo() calling read_dir_next() gives undefined result, you first need to call read_dir_reset() or continue using read_dir_next_dirinfo()

Implements libdar::entrepot.

## Member Data Documentation

## ◆ contents

etage * libdar::entrepot_local::contents
| mutable private

Definition at line 92 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

## ◆ furtive_mode

bool libdar::entrepot_local::furtive_mode
| private

Definition at line 91 of file dar64-2.8.3-win64/include/dar/entrepot_local.hpp.

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

- dar64-2.8.3-win64/include/dar/entrepot_local.hpp
- src/libdar/entrepot_local.hpp