+wxFTP can be used to establish a connection to an FTP server and perform all the
+usual operations. Please consult the RFC 959 for more details about the FTP
+protocol.
+
+To use a commands which doesn't involve file transfer (i.e. directory oriented
+commands) you just need to call a corresponding member function or use the
+generic \helpref{SendCommand}{wxftpsendcommand} method. However to actually
+transfer files you just get or give a stream to or from this class and the
+actual data are read or written using the usual stream methods.
+
+Example of using wxFTP for file downloading:
+
+\begin{verbatim}
+ wxFTP ftp;
+
+ // if you don't use these lines anonymous login will be used
+ ftp.SetUser("user");
+ ftp.SetPassword("password");
+
+ if ( !ftp.Connect("ftp.wxwindows.org") )
+ {
+ wxLogError("Couldn't connect");
+ return;
+ }
+
+ ftp.ChDir("/pub");
+ wxInputStream *in = ftp.GetInputStream("wxWidgets-4.2.0.tar.gz");
+ if ( !in )
+ {
+ wxLogError("Coudln't get file");
+ }
+ else
+ {
+ size_t size = in->GetSize();
+ char *data = new char[size];
+ if ( !in->Read(data, size) )
+ {
+ wxLogError("Read error");
+ }
+ else
+ {
+ // file data is in the buffer
+ ...
+ }
+
+ delete [] data;
+ delete in;
+ }
+\end{verbatim}
+
+To upload a file you would do (assuming the connection to the server was opened
+successfully):
+
+\begin{verbatim}
+ wxOutputStream *out = ftp.GetOutputStream("filename");
+ if ( out )
+ {
+ out->Write(...); // your data
+ delete out;
+ }
+\end{verbatim}
+
+\wxheading{Constants}
+
+wxFTP defines constants corresponding to the two supported transfer modes:
+
+\begin{verbatim}
+enum TransferMode
+{
+ ASCII,
+ BINARY
+};
+\end{verbatim}
+