Library: Net
Package: FTP
Header: Poco/Net/FTPStreamFactory.h
Description
An implementation of the URIStreamFactory interface that handles File Transfer Protocol (ftp) URIs.
The URI's path may end with an optional type specification in the form (;type=<typecode>), where <typecode> is one of a, i or d. If type=a, the file identified by the path is transferred in ASCII (text) mode. If type=i, the file is transferred in Image (binary) mode. If type=d, a directory listing (in NLST format) is returned. This corresponds with the FTP URL format specified in RFC 1738.
If the URI does not contain a username and password, the username "anonymous" and the password "poco@localhost".
Inheritance
Direct Base Classes: Poco::URIStreamFactory
All Base Classes: Poco::URIStreamFactory
Member Summary
Member Functions: getAnonymousPassword, getPasswordProvider, getPathAndType, getUserInfo, open, registerFactory, setAnonymousPassword, setPasswordProvider, splitUserInfo, unregisterFactory
Inherited Functions: open
Constructors
FTPStreamFactory
Creates the FTPStreamFactory.
Destructor
~FTPStreamFactory
~FTPStreamFactory();
Destroys the FTPStreamFactory.
Member Functions
getAnonymousPassword
static const std::string & getAnonymousPassword();
Returns the password used for anonymous FTP.
getPasswordProvider
static FTPPasswordProvider * getPasswordProvider();
Returns the FTPPasswordProvider currently in use, or NULL if no one has been set.
open
std::istream * open(
const Poco::URI & uri
);
Creates and opens a FTP stream for the given URI. The URI must be a ftp://... URI.
Throws a NetException if anything goes wrong.
registerFactory
static void registerFactory();
Registers the FTPStreamFactory with the default URIStreamOpener instance.
setAnonymousPassword
static void setAnonymousPassword(
const std::string & password
);
Sets the password used for anonymous FTP.
WARNING: Setting the anonymous password is not thread-safe, so it's best to call this method during application initialization, before the FTPStreamFactory is used for the first time.
setPasswordProvider
static void setPasswordProvider(
FTPPasswordProvider * pProvider
);
Sets the FTPPasswordProvider. If NULL is given, no password provider is used.
WARNING: Setting the password provider is not thread-safe, so it's best to call this method during application initialization, before the FTPStreamFactory is used for the first time.
unregisterFactory
static void unregisterFactory();
Unregisters the FTPStreamFactory with the default URIStreamOpener instance.
getPathAndType
static void getPathAndType(
const Poco::URI & uri,
std::string & path,
char & type
);
getUserInfo
static void getUserInfo(
const Poco::URI & uri,
std::string & username,
std::string & password
);
splitUserInfo
static void splitUserInfo(
const std::string & userInfo,
std::string & username,
std::string & password
);