![]() |
Disk ARchive
2.6.11
Full featured and portable backup and archiving tool
|
the Entrepot interface More...
#include <entrepot.hpp>
Inherited by libdar::entrepot_libcurl, and libdar::entrepot_local.
Public Member Functions | |
| 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 More... | |
| virtual std::string | get_url () const =0 |
| full path of current directory + anything necessary to provide URL formated information | |
| void | set_user_ownership (const std::string &x_user) |
| set default ownership for files to be created thanks to the open() methods | |
| void | set_group_ownership (const std::string &x_group) |
| virtual const path & | get_location () const |
| virtual const path & | get_root () const |
| const std::string & | get_user_ownership () const |
| 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) const |
| defines the way to open a file and return a "class fichier_global" object as last argument upon success More... | |
| virtual void | read_dir_reset () const =0 |
| routines to read existing files in the current directory (see set_location() / set_root() methods) | |
| virtual bool | read_dir_next (std::string &filename) const =0 |
| void | unlink (const std::string &filename) const |
| virtual entrepot * | clone () const =0 |
| generate a clone of "this" More... | |
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 =0 |
| virtual void | inherited_unlink (const std::string &filename) const =0 |
| virtual void | read_dir_flush ()=0 |
Private Attributes | |
| path | where |
| path | root |
| std::string | user |
| std::string | group |
the Entrepot interface
Definition at line 56 of file entrepot.hpp.
|
pure virtual |
generate a clone of "this"
Implemented in libdar::entrepot_local, and libdar::entrepot_libcurl.
|
virtual |
returns the full path of location
Reimplemented in libdar::entrepot_libcurl.
Referenced by libdar::entrepot_local::get_url().
| fichier_global* libdar::entrepot::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 | ||
| ) | const |
defines the way to open a file and return a "class fichier_global" object as last argument upon success
| [in] | dialog | for user interaction |
| [in] | filename | is the full path+name of the file to open (read/create/write to) |
| [in] | mode | defines which way to open the file (read-only, read-write or write-only) |
| [in] | force_permission | whether to set the file permission to the value given in the permission argument |
| [in] | permission | if force_permission is set, change the file permission to that value |
| [in] | fail_if_exists | tells whether the underlying implementation have to fail throwing Erange("exists") if the file already exist when write access is required |
| [in] | erase | tells whether the underlying implementation will empty an existing file before writing to it |
| [in] | algo | defines the hash file to create, other value than hash_none are accepted only in writeonly mode with erase or fail_if_exist set |
1.8.18