X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..36a0190ebd5bd9a7302f60f6dcd608b80574e21c:/interface/wx/protocol/protocol.h diff --git a/interface/wx/protocol/protocol.h b/interface/wx/protocol/protocol.h index af8d45e12e..94330044c9 100644 --- a/interface/wx/protocol/protocol.h +++ b/interface/wx/protocol/protocol.h @@ -1,9 +1,8 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: protocol/protocol.h +// Name: wx/protocol/protocol.h // Purpose: interface of wxProtocol // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -25,10 +24,13 @@ enum wxProtocolError /** @class wxProtocol - @headerfile protocol.h wx/protocol/protocol.h Represents a protocol for use with wxURL. + Note that you may want to change the default time-out for HTTP/FTP connections + and network operations (using SetDefaultTimeout()) since the default time-out + value is quite long (60 seconds). + @library{wxnet} @category{net} @@ -46,19 +48,20 @@ public: @return Returns @true, if successful, else @false. */ - bool Abort(); + virtual bool Abort() = 0; /** Returns the type of the content of the last opened stream. It is a mime-type. + May be an empty string if the content-type is unknown. */ - wxString GetContentType(); + virtual wxString GetContentType() const; /** Returns the last occurred error. @see wxProtocolError */ - wxProtocolError GetError(); + virtual wxProtocolError GetError() const; /** Creates a new input stream on the specified path. @@ -75,7 +78,7 @@ public: @see wxInputStream */ - wxInputStream* GetInputStream(const wxString& path); + virtual wxInputStream* GetInputStream(const wxString& path) = 0; /** Tries to reestablish a previous opened connection (close and renegotiate @@ -86,13 +89,67 @@ public: bool Reconnect(); /** - Sets the authentication password. It is mainly useful when FTP is used. + Sets the authentication password. + */ + virtual void SetPassword(const wxString& user); + + /** + Sets the authentication user. + */ + virtual void SetUser(const wxString& user); + + /** + Sets a new default timeout for the network operations. + + The default timeout is 60 seconds. + + @see wxSocketBase::SetTimeout */ - void SetPassword(const wxString& user); + void SetDefaultTimeout(wxUint32 Value); /** - Sets the authentication user. It is mainly useful when FTP is used. + @name Logging support. + + Each wxProtocol object may have the associated logger (by default there + is none) which is used to log network requests and responses. + + @see wxProtocolLog */ - void SetUser(const wxString& user); + //@{ + + /** + Set the logger, deleting the old one and taking ownership of this one. + + @param log + New logger allocated on the heap or @NULL. + */ + void SetLog(wxProtocolLog *log); + + /** + Return the current logger, may be @NULL. + */ + wxProtocolLog *GetLog() const { return m_log; } + + /** + Detach the existing logger without deleting it. + + The caller is responsible for deleting the returned pointer if it's + non-@c NULL. + */ + wxProtocolLog *DetachLog(); + + /** + Call wxProtocolLog::LogRequest() if we have a valid logger or do + nothing otherwise. + */ + void LogRequest(const wxString& str); + + /** + Call wxProtocolLog::LogResponse() if we have a valid logger or do + nothing otherwise. + */ + void LogResponse(const wxString& str); + + //@} };