26#ifndef ENTREPOT_LIBCURL_HPP
27#define ENTREPOT_LIBCURL_HPP
49 class entrepot_libcurl :
public entrepot
54 const std::string & login,
56 const std::string & host,
57 const std::string & port,
59 const std::string & sftp_pub_keyfile,
60 const std::string & sftp_prv_keyfile,
61 const std::string & sftp_known_hosts,
80 virtual std::string
get_url()
const override;
81 virtual const path & get_location()
const override;
82 virtual const path & get_root()
const override;
84 virtual bool read_dir_next(std::string & filename)
const override;
91 virtual fichier_global *inherited_open(
const std::shared_ptr<user_interaction> & dialog,
92 const std::string & filename,
94 bool force_permission,
97 bool erase)
const override;
99 virtual void inherited_unlink(
const std::string & filename)
const override;
100 virtual void read_dir_flush()
override;
103#if defined ( LIBCURL_AVAILABLE ) && defined ( LIBTHREADAR_AVAILABLE )
104 class i_entrepot_libcurl;
105 std::shared_ptr<i_entrepot_libcurl> pimpl;
for managing archive into a remote repository
virtual void read_dir_reset() const override
routines to read existing files in the current directory (see set_location() / set_root() methods)
virtual path get_full_path() const override
returns the full path of location
virtual void set_root(const path &p_root) override
defines the root to use if set_location is given a relative path
virtual void set_location(const path &chemin) override
defines the directory where to proceed to future open() – this is a "chdir" semantics
virtual entrepot * clone() const override
generate a clone of "this"
entrepot_libcurl(const std::shared_ptr< user_interaction > &dialog, mycurl_protocol proto, const std::string &login, const secu_string &password, const std::string &host, const std::string &port, bool auth_from_file, const std::string &sftp_pub_keyfile, const std::string &sftp_prv_keyfile, const std::string &sftp_known_hosts, U_I waiting_time, bool verbose=false)
virtual std::string get_url() const override
abstraction of filesystem files for entrepot
the class path is here to manipulate paths in the Unix notation: using'/'
mycurl_protocol
libcurl protocols supported by libdar
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.
datastructure defining the network protocols available for entrepot_libcurl class
this file contains the definition of secu_string class, a std::string like class but allocated in sec...