Library: Net
Package: FTP
Header: Poco/Net/FTPStreamFactory.h
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 "
Direct Base Classes: Poco::URIStreamFactory
All Base Classes: Poco::URIStreamFactory
Member Functions: getAnonymousPassword, getPasswordProvider, getPathAndType, getUserInfo, open, registerFactory, setAnonymousPassword, setPasswordProvider, splitUserInfo
Inherited Functions: open
Creates the FTPStreamFactory.
 
 ~FTPStreamFactory();
Destroys the FTPStreamFactory.
 
 static const std::string & getAnonymousPassword();
Returns the password used for anonymous FTP.
 
 static FTPPasswordProvider * getPasswordProvider();
Returns the FTPPasswordProvider currently in use, or NULL if no one has been set.
std::istream * open(
    const Poco::URI & uri
);
Creates and opens a HTTP stream for the given URI. The URI must be a ftp://... URI.
Throws a NetException if anything goes wrong.
 
 static void registerFactory();
Registers the FTPStreamFactory with the default URIStreamOpener instance.
 
 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.
 
 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.
 
   
 static void getPathAndType(
    const Poco::URI & uri,
    std::string & path,
    char & type
);
 
   
 static void getUserInfo(
    const Poco::URI & uri,
    std::string & username,
    std::string & password
);
 
   
 static void splitUserInfo(
    const std::string & userInfo,
    std::string & username,
    std::string & password
);