X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da1ed74c85f53a75a193c7dcbd2013aa266a222c..97d13342cc2ac77e21c38115cc6ebecac930f92a:/interface/wx/protocol/protocol.h diff --git a/interface/wx/protocol/protocol.h b/interface/wx/protocol/protocol.h index 1cf2f89122..dc1586ac52 100644 --- a/interface/wx/protocol/protocol.h +++ b/interface/wx/protocol/protocol.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: protocol/protocol.h +// Name: wx/protocol/protocol.h // Purpose: interface of wxProtocol // Author: wxWidgets team // RCS-ID: $Id$ @@ -28,6 +28,10 @@ enum wxProtocolError 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} @@ -49,15 +53,16 @@ public: /** 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. */ - virtual wxString GetContentType(); + virtual wxString GetContentType() const; /** Returns the last occurred error. @see wxProtocolError */ - virtual wxProtocolError GetError() = 0; + virtual wxProtocolError GetError() const; /** Creates a new input stream on the specified path. @@ -85,13 +90,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. It is mainly useful when FTP is used. + 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 SetDefaultTimeout(wxUint32 Value); + + /** + @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 + */ + //@{ + + /** + 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); + + //@} };