+ // we are looking for "226 transfer completed"
+ char code = m_ftp->GetResult();
+ if ('2' == code)
+ {
+ // it was a good transfer.
+ // we're done!
+ m_ftp->m_streaming = false;
+ return;
+ }
+ // did we timeout?
+ if (0 == code)
+ {
+ // the connection is probably toast. issue an abort, and
+ // then a close. there won't be any more waiting
+ // for this connection
+ m_ftp->Abort();
+ m_ftp->Close();
+ return;
+ }
+ // There was a problem with the transfer and the server
+ // has acknowledged it. If we issue an "ABORT" now, the user
+ // would get the "226" for the abort and think the xfer was
+ // complete, thus, don't do anything here, just return
+ }
+
+ wxFTP *m_ftp;
+
+ wxDECLARE_NO_COPY_CLASS(wxInputFTPStream);
+};
+
+class wxOutputFTPStream : public wxSocketOutputStream