X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f92f546c44e5d59a69c0d5a716ee3100d34e3192..7e08bc5acd8ee4e2f0756f50bf98937a118f9951:/include/wx/protocol/protocol.h diff --git a/include/wx/protocol/protocol.h b/include/wx/protocol/protocol.h index 894ca9615d..f26d22ba89 100644 --- a/include/wx/protocol/protocol.h +++ b/include/wx/protocol/protocol.h @@ -6,18 +6,16 @@ // Created: 10/07/1997 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PROTOCOL_PROTOCOL_H #define _WX_PROTOCOL_PROTOCOL_H -#ifdef __GNUG__ -#pragma interface -#endif - #include "wx/defs.h" +#if wxUSE_PROTOCOL + #include "wx/object.h" #include "wx/string.h" #include "wx/stream.h" @@ -48,7 +46,7 @@ typedef enum // wxProtocol: abstract base class for all protocols // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxProtocol +class WXDLLIMPEXP_NET wxProtocol #if wxUSE_SOCKETS : public wxSocketClient #else @@ -60,8 +58,9 @@ public: #if wxUSE_SOCKETS bool Reconnect(); - virtual bool Connect( const wxString& WXUNUSED(host) ) { return FALSE; } - virtual bool Connect( wxSockAddress& addr, bool WXUNUSED(wait) = TRUE) { return wxSocketClient::Connect(addr); } + virtual bool Connect( const wxString& WXUNUSED(host) ) { return false; } + virtual bool Connect( const wxSockAddress& addr, bool WXUNUSED(wait) = true) + { return wxSocketClient::Connect(addr); } // read a '\r\n' terminated line from the given socket and put it in // result (without the terminators) @@ -74,19 +73,36 @@ public: virtual bool Abort() = 0; virtual wxInputStream *GetInputStream(const wxString& path) = 0; - virtual wxProtocolError GetError() = 0; - virtual wxString GetContentType() { return wxEmptyString; } - virtual void SetUser(const wxString& WXUNUSED(user)) {} - virtual void SetPassword(const wxString& WXUNUSED(passwd) ) {} + virtual wxString GetContentType() const = 0; + + // the error code + virtual wxProtocolError GetError() const { return m_lastError; } + + void SetUser(const wxString& user) { m_username = user; } + void SetPassword(const wxString& passwd) { m_password = passwd; } + + virtual void SetDefaultTimeout(wxUint32 Value); + + // override wxSocketBase::SetTimeout function to avoid that the internal + // m_uiDefaultTimeout goes out-of-sync: + virtual void SetTimeout(long seconds) + { SetDefaultTimeout(seconds); } + + +protected: + // the timeout associated with the protocol: + wxUint32 m_uiDefaultTimeout; + + wxString m_username; + wxString m_password; + + // this must be always updated by the derived classes! + wxProtocolError m_lastError; private: - DECLARE_ABSTRACT_CLASS(wxProtocol) + DECLARE_DYNAMIC_CLASS_NO_COPY(wxProtocol) }; -#if wxUSE_SOCKETS -wxProtocolError WXDLLEXPORT GetLine(wxSocketBase *sock, wxString& result); -#endif - // ---------------------------------------------------------------------------- // macros for protocol classes // ---------------------------------------------------------------------------- @@ -106,7 +122,7 @@ bool wxProtocolUse##class = TRUE; wxProtocolUserFor##class() { wxProtocolUse##class = TRUE; } \ } wxProtocolDoUse##class; -class WXDLLEXPORT wxProtoInfo : public wxObject +class WXDLLIMPEXP_NET wxProtoInfo : public wxObject { public: wxProtoInfo(const wxChar *name, @@ -125,6 +141,9 @@ protected: friend class wxURL; DECLARE_DYNAMIC_CLASS(wxProtoInfo) + wxDECLARE_NO_COPY_CLASS(wxProtoInfo); }; +#endif // wxUSE_PROTOCOL + #endif // _WX_PROTOCOL_PROTOCOL_H