Disk ARchive  2.5.10
Full featured and portable backup and archiving tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
Public Member Functions | Protected Member Functions | List of all members
libdar::entrepot Class Referenceabstract

the Entrepot interface More...

#include <entrepot.hpp>

Inherits libdar::on_pool.

Inherited by libdar::entrepot_local.

Public Member Functions

 entrepot ()
 constructor
 
virtual ~entrepot ()
 destructor
 
bool operator== (const entrepot &ref) const
 says whether two entrepot objects points to the same location
 
void set_location (const path &chemin)
 defines the directory where to proceed to future open() – this is a "chdir" semantics
 
void set_root (const path &p_root)
 defines the root to use if set_location is given a relative path
 
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)
 
const pathget_location () const
 
const pathget_root () const
 
path get_full_path () const
 
virtual std::string get_url () const =0
 
const std::string & get_user_ownership () const
 
const std::string & get_group_ownership () const
 
fichier_globalopen (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
 
virtual void read_dir_reset ()=0
 routines to read existing files in the current directory (see set_location() / set_root() methods)
 
virtual bool read_dir_next (std::string &filename)=0
 
void unlink (const std::string &filename) const
 
virtual entrepotclone () const =0
 
- 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

virtual fichier_globalinherited_open (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
 
- 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)
 

Detailed Description

the Entrepot interface

Definition at line 61 of file entrepot.hpp.

Member Function Documentation

fichier_global* libdar::entrepot::open ( 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

Parameters
[in]dialogfor user interaction
[in]filenameis the full path+name of the file to open (read/create/write to)
[in]modedefines which way to open the file (read-only, read-write or write-only)
[in]force_permissionwhether to set the file permission to the value given in the permission argument
[in]permissionif force_permission is set, change the file permission to that value
[in]fail_if_existstells whether the underlying implementation have to fail throwing Erange("exists") if the file already exist when write access is required
[in]erasetells whether the underlying implementation will empty an existing file before writing to it
[in]algodefines the hash file to create, other value than hash_none are accepted only in writeonly mode with erase or fail_if_exist set
Returns
upon success returns an object from a class inherited from fichier_global that the caller has the duty to delete, else an exception is thrown (most of the time it should be a Esystem object) by the called inherited class

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