GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
octave::curl_transfer Class Reference
Inheritance diagram for octave::curl_transfer:
Inheritance graph
[legend]
Collaboration diagram for octave::curl_transfer:
Collaboration graph
[legend]

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 (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)
 
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
 
octave_refcount< size_tcount
 
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

 curl_transfer (const curl_transfer &)
 
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)
 
curl_transferoperator= (const curl_transfer &)
 

Private Attributes

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

Detailed Description

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

Constructor & Destructor Documentation

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

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

References curl.

octave::curl_transfer::curl_transfer ( const curl_transfer )
private

Member Function Documentation

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

Reimplemented from octave::base_url_transfer.

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

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

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

Reimplemented from octave::base_url_transfer.

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

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

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

Reimplemented from octave::base_url_transfer.

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

References ftp_file_or_dir_action().

Referenced by get_fileinfo().

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

Reimplemented from octave::base_url_transfer.

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

References ftp_file_or_dir_action().

Referenced by dmatd().

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

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

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

Referenced by http_get(), and http_post().

void octave::curl_transfer::ftp_file_or_dir_action ( const std::string file_or_dir,
const std::string action 
)
inlineprivate
void octave::curl_transfer::get ( const std::string file,
std::ostream &  os 
)
inlinevirtual
void octave::curl_transfer::get_fileinfo ( const std::string filename,
double filesize,
time_t &  filetime,
bool fileisdir 
)
inlinevirtual
bool octave::base_url_transfer::good ( void  ) const
inlineinherited
void octave::curl_transfer::http_action ( const Array< std::string > &  param,
const std::string action 
)
inlinevirtual
void octave::curl_transfer::http_get ( const Array< std::string > &  param)
inlinevirtual

Reimplemented from octave::base_url_transfer.

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

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

Referenced by http_action().

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

Reimplemented from octave::base_url_transfer.

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

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

Referenced by http_action().

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

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

References octave::read_data(), SETOPT, and octave::write_data().

Referenced by curl_transfer().

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

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

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

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

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

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

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

Reimplemented from octave::base_url_transfer.

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

References errnum, and string.

string_vector octave::curl_transfer::list ( void  )
inlinevirtual
void octave::base_url_transfer::mget_directory ( const std::string directory,
const std::string target 
)
inherited
void octave::curl_transfer::mkdir ( 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().

string_vector octave::base_url_transfer::mput_directory ( const std::string base,
const std::string directory 
)
inherited
curl_transfer& octave::curl_transfer::operator= ( const curl_transfer )
private
void octave::curl_transfer::perform ( void  )
inlinevirtual
void octave::curl_transfer::put ( const std::string file,
std::istream &  is 
)
inlinevirtual
std::string octave::curl_transfer::pwd ( void  )
inlinevirtual
void octave::curl_transfer::rename ( const std::string oldname,
const std::string newname 
)
inlinevirtual
void octave::curl_transfer::rmdir ( const std::string path)
inlinevirtual

Reimplemented from octave::base_url_transfer.

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

References ftp_file_or_dir_action().

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

Reimplemented from octave::base_url_transfer.

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

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

Referenced by put().

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

Reimplemented from octave::base_url_transfer.

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

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

Referenced by get().

Member Data Documentation

bool octave::base_url_transfer::ascii_mode
protectedinherited

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

Referenced by ascii(), and binary().

octave_refcount<size_t> octave::base_url_transfer::count
protectedinherited

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

Referenced by octave::url_transfer::operator=().

CURL* octave::curl_transfer::curl
private

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

Referenced by curl_transfer(), get_fileinfo(), perform(), and ~curl_transfer().

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

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

Referenced by set_istream().

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

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

Referenced by list(), and set_ostream().

std::string octave::base_url_transfer::errmsg
protectedinherited
CURLcode octave::curl_transfer::errnum
private

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

Referenced by lasterror(), and perform().

bool octave::base_url_transfer::ftp
protectedinherited

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

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

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

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

bool octave::base_url_transfer::ok
protectedinherited
std::string octave::curl_transfer::url
private

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

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

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

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

bool octave::base_url_transfer::valid
protectedinherited

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

Referenced by curl_transfer().


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