27#ifndef ENTREPOT_LOCAL_HPP
28#define ENTREPOT_LOCAL_HPP
56 entrepot_local(
const std::string & user,
const std::string & group,
bool x_furtive_mode);
72 virtual void create_dir(
const std::string & dirname, U_I permission)
override;
79 virtual fichier_global *inherited_open(
const std::shared_ptr<user_interaction> & dialog,
80 const std::string & filename,
82 bool force_permission,
85 bool erase)
const override;
87 virtual void inherited_unlink(
const std::string & filename)
const override;
92 mutable etage *contents;
94 void nullifyptr() noexcept { contents =
nullptr; };
95 void copy_from(
const entrepot_local & ref) { furtive_mode = ref.furtive_mode; contents =
nullptr; };
96 void move_from(
entrepot_local && ref)
noexcept { std::swap(contents, ref.contents), std::swap(furtive_mode, ref.furtive_mode); };
97 void detruit()
const {
if(contents !=
nullptr) {
delete contents; contents =
nullptr; } };
virtual void read_dir_reset() const override
virtual std::string get_url() const override
full path of current directory + anything necessary to provide URL formated information
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
entrepot_local(const std::string &user, const std::string &group, bool x_furtive_mode)
constructor
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
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 read_dir_flush() const override
ends the read_dir_next, (no more entry available)
virtual path get_full_path() const
returns the full path of location
entrepot & operator=(const entrepot &ref)=default
assignment operator
the etage structure keep trace of directory contents
abstraction of filesystem files for entrepot
std::string display() const
convert back a path to a string
gf_mode
generic_file openning modes
include macro defined by the configure script and some specific additional ones
libdar namespace encapsulate all libdar symbols
defines the entrepot interface.
definition of the etage structure is done here
class fichier_global definition. This class is a pure virtual class class fichier_global is an abstra...
defines the interaction interface between libdar and users.