Allow specifying non default port for wxFTP connections.
Add a wxFTP::Connect() overload taking a port number. Also specify the default port (21) explicitly if resolving "ftp" service name failed. Closes #12145. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -35,8 +35,9 @@ public:
|
||||
virtual ~wxFTP();
|
||||
|
||||
// Connecting and disconnecting
|
||||
bool Connect(const wxSockAddress& addr, bool wait = true);
|
||||
bool Connect(const wxString& host);
|
||||
virtual bool Connect(const wxSockAddress& addr, bool wait = true);
|
||||
virtual bool Connect(const wxString& host) { return Connect(host, 0); }
|
||||
virtual bool Connect(const wxString& host, unsigned short port);
|
||||
|
||||
// disconnect
|
||||
virtual bool Close();
|
||||
|
@@ -112,6 +112,22 @@ public:
|
||||
|
||||
|
||||
|
||||
//@{
|
||||
/**
|
||||
Connect to the FTP server to default port (21) of the specified @a host.
|
||||
*/
|
||||
virtual bool Connect(const wxString& host);
|
||||
|
||||
/**
|
||||
Connect to the FTP server to any port of the specified @a host.
|
||||
By default (@a port = 0), connection is made to default FTP port (21)
|
||||
of the specified @a host.
|
||||
|
||||
@since 2.9.1
|
||||
*/
|
||||
virtual bool Connect(const wxString& host, unsigned short port);
|
||||
//@}
|
||||
|
||||
/**
|
||||
@name Functions for managing the FTP connection
|
||||
*/
|
||||
|
@@ -155,11 +155,15 @@ bool wxFTP::Connect(const wxSockAddress& addr, bool WXUNUSED(wait))
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxFTP::Connect(const wxString& host)
|
||||
bool wxFTP::Connect(const wxString& host, unsigned short port)
|
||||
{
|
||||
wxIPV4address addr;
|
||||
addr.Hostname(host);
|
||||
addr.Service(wxT("ftp"));
|
||||
|
||||
if ( port )
|
||||
addr.Service(port);
|
||||
else if (!addr.Service(wxT("ftp")))
|
||||
addr.Service(21);
|
||||
|
||||
return Connect(addr);
|
||||
}
|
||||
|
Reference in New Issue
Block a user