26#if ! defined (octave_url_transfer_h)
27#define octave_url_transfer_h 1
29#include "octave-config.h"
73 bool is_valid ()
const {
return m_valid; }
75 bool good ()
const {
return m_valid && m_ok; }
79 virtual std::string
lasterror ()
const {
return m_errmsg; }
83 return *m_curr_ostream;
88 return *m_curr_istream;
95 bool is_ascii ()
const {
return m_ascii_mode; }
99 virtual void cwd (
const std::string& ) { }
101 virtual void del (
const std::string& ) { }
103 virtual void rmdir (
const std::string& ) { }
105 virtual void mkdir (
const std::string& ) { }
107 virtual void rename (
const std::string& ,
108 const std::string& ) { }
110 virtual void put (
const std::string& ,
113 virtual void get (
const std::string& ,
116 void mget_directory (
const std::string& directory,
117 const std::string& target);
120 const std::string& directory);
131 virtual std::string
pwd () {
return ""; }
138 const std::string& ) { }
167 url_transfer (
const std::string& host,
const std::string& user,
168 const std::string& passwd, std::ostream& os);
170 url_transfer (
const std::string& url, std::ostream& os);
178 bool is_valid ()
const {
return m_rep->is_valid (); }
180 bool good ()
const {
return m_rep->good (); }
182 std::string
lasterror ()
const {
return m_rep->lasterror (); }
186 return m_rep->set_ostream (os);
191 return m_rep->set_istream (is);
198 bool is_ascii ()
const {
return m_rep->is_ascii (); }
202 void cwd (
const std::string& path) { m_rep->cwd (path); }
204 void del (
const std::string& file) { m_rep->del (file); }
206 void rmdir (
const std::string& path) { m_rep->rmdir (path); }
208 void mkdir (
const std::string& path) { m_rep->mkdir (path); }
210 void rename (
const std::string& oldname,
const std::string& newname)
212 m_rep->rename (oldname, newname);
215 void put (
const std::string& file, std::istream& is)
217 m_rep->put (file, is);
220 void get (
const std::string& file, std::ostream& os)
222 m_rep->get (file, os);
226 const std::string& target)
228 m_rep->mget_directory (directory, target);
232 const std::string& directory)
234 return m_rep->mput_directory (base, directory);
237 void dir () { m_rep->dir (); }
242 OCTAVE_TIME_T& filetime,
bool& fileisdir)
244 m_rep->get_fileinfo (filename, filesize, filetime, fileisdir);
247 std::string
pwd () {
return m_rep->pwd (); }
251 m_rep->http_get (param);
256 m_rep->http_post (param);
260 const std::string& action)
262 m_rep->http_action (param, action);
267 m_rep->cookie_jar (filename);
272 m_rep->set_header_fields (param);
277 m_rep->form_data_post (param);
282 m_rep->set_weboptions (param);
287 std::shared_ptr<base_url_transfer> m_rep;
290OCTAVE_END_NAMESPACE(octave)
N Dimensional Array with copy-on-write semantics.
virtual std::ostream & set_ostream(std::ostream &)
virtual void http_get(const Array< std::string > &)
virtual void rename(const std::string &, const std::string &)
std::string m_host_or_url
virtual std::istream & set_istream(std::istream &)
virtual void form_data_post(const Array< std::string > &)
virtual void get(const std::string &, std::ostream &)
virtual void set_weboptions(const struct weboptions &)
virtual void put(const std::string &, std::istream &)
virtual void set_header_fields(const Array< std::string > &)
virtual void cwd(const std::string &)
virtual std::string pwd()
virtual void cookie_jar(const std::string &)
virtual void del(const std::string &)
std::istream * m_curr_istream
virtual string_vector list()
virtual void http_post(const Array< std::string > &)
virtual void get_fileinfo(const std::string &, double &, OCTAVE_TIME_T &, bool &)
std::ostream * m_curr_ostream
virtual void http_action(const Array< std::string > &, const std::string &)
virtual void rmdir(const std::string &)
virtual void mkdir(const std::string &)
virtual std::string lasterror() const
void put(const std::string &file, std::istream &is)
void get_fileinfo(const std::string &filename, double &filesize, OCTAVE_TIME_T &filetime, bool &fileisdir)
std::ostream & set_ostream(std::ostream &os)
void get(const std::string &file, std::ostream &os)
void http_post(const Array< std::string > ¶m)
void cwd(const std::string &path)
void set_header_fields(const Array< std::string > ¶m)
void set_weboptions(const struct weboptions ¶m)
void http_get(const Array< std::string > ¶m)
void mkdir(const std::string &path)
string_vector mput_directory(const std::string &base, const std::string &directory)
std::string lasterror() const
std::istream & set_istream(std::istream &is)
void http_action(const Array< std::string > ¶m, const std::string &action)
void mget_directory(const std::string &directory, const std::string &target)
url_transfer(const url_transfer &)=default
void cookie_jar(const std::string &filename)
void rmdir(const std::string &path)
void del(const std::string &file)
void rename(const std::string &oldname, const std::string &newname)
void form_data_post(const Array< std::string > ¶m)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
std::string ContentReader
std::string RequestMethod
Array< std::string > HeaderFields
std::string CertificateFilename