Loading...
Searching...
No Matches
FileLocationHandler::FileLocationHandlerFtp Class Reference

The class for handling "ftp(s)://"" locations. More...

`#include <FileLocationHandlerFtp.qc.dox.h>`

Inheritance diagram for FileLocationHandler::FileLocationHandlerFtp:
[legend]

## Public Attributes

const | FtpClientLocationOpts
| Valid common file location options.

## Protected Member Functions

binary | getBinaryFileImpl (string scheme, string location, *hash< auto > opts)
| Retrieves a binary file from the given location.
Qore::InputStream | getBinaryStreamImpl (string scheme, string location, *hash< auto > opts)
| Retrieves a binary file from the given location.
FtpClient | getFtpClient (string scheme, string location, *hash< auto > opts, reference< string > file)
| Returns an FTP client for the given location.
Qore::AbstractPollOperation | getIoPollerForLocationImpl (string scheme, string location, *hash< auto > opts)
| Retrieves an I/O poller to retrieve a binary file from the given location.
OutputStreamWrapper | getOutputStreamImpl (string scheme, string location, *hash< auto > opts)
| Returns an output stream for writing data to the given location.
hash< string, hash< FileHandlerOptionInfo > > | getReadOptionsImpl ()
| Gets supported read options.
Qore::StreamReader | getStreamReaderImpl (string scheme, string location, *hash< auto > opts)
| Returns a stream reader for the file's data at the given location.
string | getTextFileImpl (string scheme, string location, *hash< auto > opts)
| Retrieves a text file from the given location.
hash< string, hash< FileHandlerOptionInfo > > | getWriteOptionsImpl ()
| Gets supported write options.
| writeFileImpl (string scheme, string location, data contents, *hash< auto > opts)
| Writes data to a file at the given location.
abstract binary | getBinaryFileImpl (string scheme, string location, *hash< auto > opts)
| Retrieves a binary file from the given location.
abstract Qore::InputStream | getBinaryStreamImpl (string scheme, string location, *hash< auto > opts)
| Retrieves a binary file from the given location.
abstract Qore::AbstractPollOperation | getIoPollerForLocationImpl (string scheme, string location, *hash< auto > opts)
| Retrieves an I/O poller to retrieve a binary file from the given location.
abstract OutputStreamWrapper | getOutputStreamImpl (string scheme, string location, *hash< auto > opts)
| Returns an output stream for writing data to the given location.
abstract hash< string, hash< FileHandlerOptionInfo > > | getReadOptionsImpl ()
| Gets supported read options.
abstract Qore::StreamReader | getStreamReaderImpl (string scheme, string location, *hash< auto > opts)
| Returns a string stream for the file's data at the given location.
abstract string | getTextFileImpl (string scheme, string location, *hash< auto > opts)
| Retrieves a text file from the given location.
abstract hash< string, hash< FileHandlerOptionInfo > > | getWriteOptionsImpl ()
| Gets supported write options.
abstract | writeFileImpl (string scheme, string location, data contents, *hash< auto > opts)
| Writes data to a file at the given location.

## Additional Inherited Members

Public Member Functions inherited from FileLocationHandler::AbstractFileLocationHandler
binary | getBinaryFile (string scheme, string location, *hash< auto > opts)
| Retrieves a binary file from the given location.
Qore::InputStream | getBinaryStream (string scheme, string location, *hash< auto > opts)
| Retrieves a binary file from the given location.
Qore::AbstractPollOperation | getIoPollerForLocation (string scheme, string location, *hash< auto > opts)
| Retrieves an I/O poller to retrieve a binary file from the given location.
OutputStreamWrapper | getOutputStream (string scheme, string location, *hash< auto > opts)
| Returns an output stream for writing data to the given location.
hash< string, hash< FileHandlerOptionInfo > > | getReadOptions ()
| Gets supported read options.
Qore::StreamReader | getStreamReader (string scheme, string location, *hash< auto > opts)
| Returns a string stream for the file's data at the given location.
string | getTextFile (string scheme, string location, *hash< auto > opts)
| Retrieves a text file from the given location.
hash< string, hash< FileHandlerOptionInfo > > | getWriteOptions ()
| Gets supported write options.
| writeFile (string scheme, string location, data contents, *hash< auto > opts)
| Writes data to a file at the given location.
Static Protected Member Functions inherited from FileLocationHandler::AbstractFileLocationHandler
static string | forceEncoding (string str, *string encoding)
| Returns a string tagged with the given encoding, if any.

## Detailed Description

The class for handling "ftp(s)://"" locations.

Does not currently support non-blocking I/O operations

## Member Function Documentation

## getBinaryFileImpl()

binary FileLocationHandler::FileLocationHandlerFtp::getBinaryFileImpl | ( | string | scheme,
|  | string | location,
|  | *hash< auto > | opts
| ) |  |

protectedvirtual

Retrieves a binary file from the given location.

Parameters

  scheme | the scheme being used
  location | the location string without the scheme
  opts | read options

Returns
  the binary data of the file's contents, if it can be retrieved

Note
  This method can throw any exception related to making an FTP transfer

Implements FileLocationHandler::AbstractFileLocationHandler.

## getBinaryStreamImpl()

Qore::InputStream FileLocationHandler::FileLocationHandlerFtp::getBinaryStreamImpl | ( | string | scheme,
|  | string | location,
|  | *hash< auto > | opts
| ) |  |

protectedvirtual

Retrieves a binary file from the given location.

Parameters

  scheme | the scheme being used
  location | the location string without the scheme
  opts | read options

Returns
  an input stream of the file's contents, if it can be retrieved

Note
  This method can throw any exception related to making an FTP transfer

Implements FileLocationHandler::AbstractFileLocationHandler.

## getIoPollerForLocationImpl()

Qore::AbstractPollOperation FileLocationHandler::FileLocationHandlerFtp::getIoPollerForLocationImpl | ( | string | scheme,
|  | string | location,
|  | *hash< auto > | opts
| ) |  |

protectedvirtual

Retrieves an I/O poller to retrieve a binary file from the given location.

Parameters

  scheme | the scheme being used
  location | the location string without the scheme
  opts | read options

Returns
  an I/O poller to retrieve the file's data

Implements FileLocationHandler::AbstractFileLocationHandler.

## getOutputStreamImpl()

OutputStreamWrapper FileLocationHandler::FileLocationHandlerFtp::getOutputStreamImpl | ( | string | scheme,
|  | string | location,
|  | *hash< auto > | opts
| ) |  |

protectedvirtual

Returns an output stream for writing data to the given location.

Parameters

  scheme | the scheme being used
  location | the location string without the scheme
  opts | write options

Returns
  an output stream for writing to the file

Note
  - OutputStream::close() must be called to close the stream after writing terminates in order to avoid a deadlock
  - The data written to the OutputStreamWrapper object is written in the background; to ensure that the data has been written to the target, call OutputStreamWrapper::waitForIo()
  - This method can throw any exception related to making an FTP transfer

Implements FileLocationHandler::AbstractFileLocationHandler.

## getReadOptionsImpl()

hash< string, hash< FileHandlerOptionInfo > > FileLocationHandler::FileLocationHandlerFtp::getReadOptionsImpl | ( |  | ) |

protectedvirtual

Gets supported read options.

Returns
  supported read options

Implements FileLocationHandler::AbstractFileLocationHandler.

## getStreamReaderImpl()

Qore::StreamReader FileLocationHandler::FileLocationHandlerFtp::getStreamReaderImpl | ( | string | scheme,
|  | string | location,
|  | *hash< auto > | opts
| ) |  |

protectedvirtual

Returns a stream reader for the file's data at the given location.

Parameters

  scheme | the scheme being used
  location | the location string without the scheme
  opts | read options

Returns
  a stream reader for the file's contents, if it can be retrieved

Note
  This method can throw any exception related to making an FTP transfer

Implements FileLocationHandler::AbstractFileLocationHandler.

## getTextFileImpl()

string FileLocationHandler::FileLocationHandlerFtp::getTextFileImpl | ( | string | scheme,
|  | string | location,
|  | *hash< auto > | opts
| ) |  |

protectedvirtual

Retrieves a text file from the given location.

Parameters

  scheme | the scheme being used
  location | the location string without the scheme
  opts | read options

Returns
  the string of the file's contents, if it can be retrieved

Note
  This method can throw any exception related to making an FTP transfer

Implements FileLocationHandler::AbstractFileLocationHandler.

## getWriteOptionsImpl()

hash< string, hash< FileHandlerOptionInfo > > FileLocationHandler::FileLocationHandlerFtp::getWriteOptionsImpl | ( |  | ) |

protectedvirtual

Gets supported write options.

Returns
  supported write options

Implements FileLocationHandler::AbstractFileLocationHandler.

## writeFileImpl()

FileLocationHandler::FileLocationHandlerFtp::writeFileImpl | ( | string | scheme,
|  | string | location,
|  | data | contents,
|  | *hash< auto > | opts
| ) |  |

protectedvirtual

Writes data to a file at the given location.

Parameters

  scheme | the scheme being used
  location | the location string without the scheme
  contents | the file's contents
  opts | write options

Note
  This method can throw any exception related to making an FTP transfer

Implements FileLocationHandler::AbstractFileLocationHandler.