]> git.saurik.com Git - wxWidgets.git/blame - include/wx/protocol/ftp.h
1. MSW message handling simplifications
[wxWidgets.git] / include / wx / protocol / ftp.h
CommitLineData
f4ada568
GL
1/////////////////////////////////////////////////////////////////////////////
2// Name: ftp.h
3// Purpose: FTP protocol
4// Author: Vadim Zeitlin
5// Modified by:
6// Created: 07/07/1997
7// RCS-ID: $Id$
8// Copyright: (c) 1997, 1998 Guilhem Lavaux
9// Licence: wxWindows license
10/////////////////////////////////////////////////////////////////////////////
11#ifndef __WX_FTP_H__
12#define __WX_FTP_H__
13
14#ifdef __GNUG__
15#pragma interface
16#endif
17
18#include "wx/object.h"
19#include "wx/sckaddr.h"
20#include "wx/protocol/protocol.h"
21#include "wx/url.h"
22
23class WXDLLEXPORT wxFTP : public wxProtocol {
24 DECLARE_DYNAMIC_CLASS(wxFTP)
25 DECLARE_PROTOCOL(wxFTP)
26public:
27 typedef enum { ASCII, BINARY } wxFTPmode;
28
29 wxFTP();
30 ~wxFTP();
31
32 bool Close();
8a2c6ef8 33 bool Connect(wxSockAddress& addr, bool wait = TRUE);
f4ada568
GL
34 bool Connect(const wxString& host);
35
36 void SetUser(const wxString& user) { m_user = user; }
37 void SetPassword(const wxString& passwd) { m_passwd = passwd; }
38
39 // Low-level methods
40 bool SendCommand(const wxString& command, char exp_ret);
41 inline virtual wxProtocolError GetError()
42 { return m_lastError; }
43 const wxString& GetLastResult(); // Get the complete return
44
45 // Filesystem commands
46 bool ChDir(const wxString& dir);
47 bool MkDir(const wxString& dir);
48 bool RmDir(const wxString& dir);
49 wxString Pwd();
50 bool Rename(const wxString& src, const wxString& dst);
51 bool RmFile(const wxString& path);
52
53 // Download methods
54 bool Abort();
55 wxInputStream *GetInputStream(const wxString& path);
56 wxOutputStream *GetOutputStream(const wxString& path);
57
58 // List method
59 wxList *GetList(const wxString& wildcard);
60
61protected:
62 wxString m_user, m_passwd;
63 wxString m_lastResult;
64 wxProtocolError m_lastError;
65 bool m_streaming;
66
67 friend class wxInputFTPStream;
68 friend class wxOutputFTPStream;
69
70 wxSocketClient *GetPort();
71 bool GetResult(char exp);
72};
73
74#endif