// Created: 07/07/1997
// RCS-ID: $Id$
// Copyright: (c) 1997, 1998 Guilhem Lavaux
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "ftp.h"
#endif
#pragma hdrstop
#endif
-#if wxUSE_SOCKETS && wxUSE_STREAMS
+#if wxUSE_PROTOCOL_FTP
#ifndef WX_PRECOMP
#include <stdlib.h>
{
delete m_i_socket;
- if ( LastError() == wxStream_NOERROR )
+ if ( IsOk() )
{
// wait for "226 transfer completed"
m_ftp->CheckResult('2');
wxFTP *m_ftp;
size_t m_ftpsize;
+
+ DECLARE_NO_COPY_CLASS(wxInputFTPStream)
};
class wxOutputFTPStream : public wxSocketOutputStream
}
wxFTP *m_ftp;
+
+ DECLARE_NO_COPY_CLASS(wxOutputFTPStream)
};
wxSocketClient *wxFTP::GetPort()
wxString tmp_str = wxT("STOR ") + path;
if ( !CheckCommand(tmp_str, '1') )
- return FALSE;
+ return NULL;
m_streaming = TRUE;
SetTransferMode(oldTransfermode);
}
- if ( !ok ) // this is not a direct else clause.. The size command might return an invalid "2yz" reply
+ // this is not a direct else clause.. The size command might return an
+ // invalid "2yz" reply
+ if ( !ok )
{
// The server didn't understand the "SIZE"-command or it
// returned an invalid reply.
if ( wxSscanf(fileList[i].c_str(),
_T("%*s %*s %*s %*s %i %*s %*s %*s %*s"),
- &filesize) == 9 )
- {
- // We've gotten a good response
- ok = TRUE;
- }
- else
+ &filesize) != 9 )
{
// Hmm... Invalid response
wxLogTrace(FTP_TRACE_MASK,
{
if ( wxSscanf(fileList[i].c_str(),
_T("%*s %*s %i %*s"),
- &filesize) == 4 )
- {
- // valid response
- ok = TRUE;
- }
- else
+ &filesize) != 4 )
{
// something bad happened..?
wxLogTrace(FTP_TRACE_MASK,
return filesize;
}
+#endif // wxUSE_PROTOCOL_FTP
-#if WXWIN_COMPATIBILITY_2
-// deprecated
-wxList *wxFTP::GetList(const wxString& wildcard, bool details)
-{
- wxSocketBase *sock = GetPort();
- if (!sock)
- return FALSE;
- wxList *file_list = new wxList;
- wxString line;
- // NLST : List of Filenames (including Directory's !)
- // LIST : depending on BS of FTP-Server
- // - Unix : result like "ls" command
- // - Windows : like "dir" command
- // - others : ?
- if (!details)
- line = _T("NLST"); // Default
- else
- line = _T("LIST");
- if (!wildcard.IsNull())
- line += wildcard;
- if (!CheckCommand(line, '1'))
- {
- delete sock;
- delete file_list;
- return NULL;
- }
- while (GetLine(sock, line) == wxPROTO_NOERR)
- {
- file_list->Append((wxObject *)(new wxString(line)));
- }
- if (!CheckResult('2'))
- {
- delete sock;
- file_list->DeleteContents(TRUE);
- delete file_list;
- return NULL;
- }
- return file_list;
-}
-#endif // WXWIN_COMPATIBILITY_2
-
-#endif
- // wxUSE_SOCKETS