GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
octave::curl_transfer Class Reference
Inheritance diagram for octave::curl_transfer:
Collaboration diagram for octave::curl_transfer:

Public Member Functions

 curl_transfer (void)
 
 curl_transfer (const std::string &host, const std::string &user_arg, const std::string &passwd, std::ostream &os)
 
 curl_transfer (const std::string &url_str, std::ostream &os)
 
 curl_transfer (const curl_transfer &)=delete
 
 ~curl_transfer (void)
 
void ascii (void)
 
void binary (void)
 
void cwd (const std::string &path)
 
void del (const std::string &file)
 
void dir (void)
 
void get (const std::string &file, std::ostream &os)
 
void get_fileinfo (const std::string &filename, double &filesize, time_t &filetime, bool &fileisdir)
 
bool good (void) const
 
void http_action (const Array< std::string > &param, const std::string &action)
 
void http_get (const Array< std::string > &param)
 
void http_post (const Array< std::string > &param)
 
bool is_ascii (void) const
 
bool is_binary (void) const
 
bool is_valid (void) const
 
std::string lasterror (void) const
 
string_vector list (void)
 
void mget_directory (const std::string &directory, const std::string &target)
 
void mkdir (const std::string &path)
 
string_vector mput_directory (const std::string &base, const std::string &directory)
 
curl_transferoperator= (const curl_transfer &)=delete
 
void perform (void)
 
void put (const std::string &file, std::istream &is)
 
std::string pwd (void)
 
void rename (const std::string &oldname, const std::string &newname)
 
void rmdir (const std::string &path)
 
std::istream & set_istream (std::istream &is)
 
std::ostream & set_ostream (std::ostream &os)
 

Protected Attributes

bool ascii_mode
 
std::istream * curr_istream
 
std::ostream * curr_ostream
 
std::string errmsg
 
bool ftp
 
std::string host_or_url
 
bool ok
 
bool valid
 

Private Member Functions

std::string form_query_string (const Array< std::string > &param)
 
void ftp_file_or_dir_action (const std::string &file_or_dir, const std::string &action)
 
void init (const std::string &user, const std::string &passwd, std::istream &is, std::ostream &os)
 

Private Attributes

CURL * curl
 
CURLcode errnum
 
std::string url
 
std::string userpwd
 

Detailed Description

Definition at line 277 of file url-transfer.cc.

Constructor & Destructor Documentation

◆ curl_transfer() [1/4]

octave::curl_transfer::curl_transfer ( void  )
inline

◆ curl_transfer() [2/4]

octave::curl_transfer::curl_transfer ( const std::string host,
const std::string user_arg,
const std::string passwd,
std::ostream &  os 
)
inline

◆ curl_transfer() [3/4]

octave::curl_transfer::curl_transfer ( const std::string url_str,
std::ostream &  os 
)
inline

◆ curl_transfer() [4/4]

octave::curl_transfer::curl_transfer ( const curl_transfer )
delete

◆ ~curl_transfer()

octave::curl_transfer::~curl_transfer ( void  )
inline

Definition at line 350 of file url-transfer.cc.

References curl.

Member Function Documentation

◆ ascii()

void octave::curl_transfer::ascii ( void  )
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 392 of file url-transfer.cc.

References octave::base_url_transfer::ascii_mode, and SETOPT.

◆ binary()

void octave::curl_transfer::binary ( void  )
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 398 of file url-transfer.cc.

References octave::base_url_transfer::ascii_mode, and SETOPT.

◆ cwd()

void octave::curl_transfer::cwd ( const std::string path)
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 404 of file url-transfer.cc.

References ftp_file_or_dir_action().

Referenced by get_fileinfo().

◆ del()

void octave::curl_transfer::del ( const std::string file)
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 409 of file url-transfer.cc.

References file, and ftp_file_or_dir_action().

◆ dir()

void octave::curl_transfer::dir ( void  )
inlinevirtual

◆ form_query_string()

std::string octave::curl_transfer::form_query_string ( const Array< std::string > &  param)
inlineprivate

Definition at line 726 of file url-transfer.cc.

References curl, i, name, Array< T >::numel(), param, and string.

Referenced by http_get(), and http_post().

◆ ftp_file_or_dir_action()

void octave::curl_transfer::ftp_file_or_dir_action ( const std::string file_or_dir,
const std::string action 
)
inlineprivate

◆ get()

void octave::curl_transfer::get ( const std::string file,
std::ostream &  os 
)
inlinevirtual

◆ get_fileinfo()

void octave::curl_transfer::get_fileinfo ( const std::string filename,
double filesize,
time_t &  filetime,
bool fileisdir 
)
inlinevirtual

◆ good()

bool octave::base_url_transfer::good ( void  ) const
inlineinherited

◆ http_action()

void octave::curl_transfer::http_action ( const Array< std::string > &  param,
const std::string action 
)
inlinevirtual

◆ http_get()

void octave::curl_transfer::http_get ( const Array< std::string > &  param)
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 624 of file url-transfer.cc.

References form_query_string(), octave::base_url_transfer::host_or_url, param, perform(), SETOPT, string, and url.

Referenced by http_action().

◆ http_post()

void octave::curl_transfer::http_post ( const Array< std::string > &  param)
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 638 of file url-transfer.cc.

References form_query_string(), octave::base_url_transfer::host_or_url, param, perform(), SETOPT, and string.

Referenced by http_action().

◆ init()

void octave::curl_transfer::init ( const std::string user,
const std::string passwd,
std::istream &  is,
std::ostream &  os 
)
inlineprivate

Definition at line 686 of file url-transfer.cc.

References is, os, octave::read_data(), SETOPT, userpwd, and octave::write_data().

Referenced by curl_transfer().

◆ is_ascii()

bool octave::base_url_transfer::is_ascii ( void  ) const
inlineinherited

Definition at line 108 of file url-transfer.h.

◆ is_binary()

bool octave::base_url_transfer::is_binary ( void  ) const
inlineinherited

Definition at line 110 of file url-transfer.h.

◆ is_valid()

bool octave::base_url_transfer::is_valid ( void  ) const
inlineinherited

Definition at line 86 of file url-transfer.h.

◆ lasterror()

std::string octave::curl_transfer::lasterror ( void  ) const
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 371 of file url-transfer.cc.

References errnum, and string.

◆ list()

◆ mget_directory()

◆ mkdir()

void octave::curl_transfer::mkdir ( const std::string path)
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 419 of file url-transfer.cc.

References ftp_file_or_dir_action().

◆ mput_directory()

◆ operator=()

curl_transfer& octave::curl_transfer::operator= ( const curl_transfer )
delete

◆ perform()

◆ put()

void octave::curl_transfer::put ( const std::string file,
std::istream &  is 
)
inlinevirtual

◆ pwd()

std::string octave::curl_transfer::pwd ( void  )
inlinevirtual

◆ rename()

void octave::curl_transfer::rename ( const std::string oldname,
const std::string newname 
)
inlinevirtual

◆ rmdir()

void octave::curl_transfer::rmdir ( const std::string path)
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 414 of file url-transfer.cc.

References ftp_file_or_dir_action().

◆ set_istream()

std::istream& octave::curl_transfer::set_istream ( std::istream &  is)
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 384 of file url-transfer.cc.

References octave::base_url_transfer::curr_istream, is, retval, and SETOPTR.

Referenced by put().

◆ set_ostream()

std::ostream& octave::curl_transfer::set_ostream ( std::ostream &  os)
inlinevirtual

Reimplemented from octave::base_url_transfer.

Definition at line 376 of file url-transfer.cc.

References octave::base_url_transfer::curr_ostream, os, retval, and SETOPTR.

Referenced by get().

Member Data Documentation

◆ ascii_mode

bool octave::base_url_transfer::ascii_mode
protectedinherited

Definition at line 159 of file url-transfer.h.

Referenced by ascii(), and binary().

◆ curl

CURL* octave::curl_transfer::curl
private

◆ curr_istream

std::istream* octave::base_url_transfer::curr_istream
protectedinherited

Definition at line 162 of file url-transfer.h.

Referenced by set_istream().

◆ curr_ostream

std::ostream* octave::base_url_transfer::curr_ostream
protectedinherited

Definition at line 163 of file url-transfer.h.

Referenced by list(), and set_ostream().

◆ errmsg

std::string octave::base_url_transfer::errmsg
protectedinherited

◆ errnum

CURLcode octave::curl_transfer::errnum
private

Definition at line 668 of file url-transfer.cc.

Referenced by lasterror(), and perform().

◆ ftp

bool octave::base_url_transfer::ftp
protectedinherited

Definition at line 158 of file url-transfer.h.

◆ host_or_url

std::string octave::base_url_transfer::host_or_url
protectedinherited

Definition at line 156 of file url-transfer.h.

Referenced by dir(), get(), get_fileinfo(), http_get(), http_post(), list(), and put().

◆ ok

bool octave::base_url_transfer::ok
protectedinherited

◆ url

std::string octave::curl_transfer::url
private

Definition at line 683 of file url-transfer.cc.

Referenced by curl_transfer(), dir(), get(), get_fileinfo(), http_get(), list(), and put().

◆ userpwd

std::string octave::curl_transfer::userpwd
private

Definition at line 684 of file url-transfer.cc.

Referenced by init().

◆ valid

bool octave::base_url_transfer::valid
protectedinherited

Definition at line 157 of file url-transfer.h.

Referenced by curl_transfer().


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