This is a combination of running clang-tidy with modernize-use-nullptr check for some ports (GTK, X11, OSX) and manual changes to the ports for which it couldn't be used easily (MSW, DFB) and also manually updating the docs. Also replace NULL with null or nullptr in the comments as this is more consistent with the use of nullptr in the code and makes it simpler to grep for the remaining occurrences of NULL itself. And also use null in the assert messages. Only a few occurrences of "NULL" are still left in non-C files, mostly corresponding to unclear comments or string output which it might not be safe to change.
155 lines
4.4 KiB
Objective-C
155 lines
4.4 KiB
Objective-C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/protocol/protocol.h
|
|
// Purpose: interface of wxProtocol
|
|
// Author: wxWidgets team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/**
|
|
Error values returned by wxProtocol.
|
|
*/
|
|
enum wxProtocolError
|
|
{
|
|
wxPROTO_NOERR = 0, //!< No error.
|
|
wxPROTO_NETERR, //!< A generic network error occurred.
|
|
wxPROTO_PROTERR, //!< An error occurred during negotiation.
|
|
wxPROTO_CONNERR, //!< The client failed to connect the server.
|
|
wxPROTO_INVVAL, //!< Invalid value.
|
|
wxPROTO_NOHNDLR, //!< Not currently used.
|
|
wxPROTO_NOFILE, //!< The remote file doesn't exist.
|
|
wxPROTO_ABRT, //!< Last action aborted.
|
|
wxPROTO_RCNCT, //!< An error occurred during reconnection.
|
|
wxPROTO_STREAMING //!< Someone tried to send a command during a transfer.
|
|
};
|
|
|
|
/**
|
|
@class wxProtocol
|
|
|
|
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}
|
|
|
|
@see wxSocketBase, wxURL
|
|
*/
|
|
class wxProtocol : public wxSocketClient
|
|
{
|
|
public:
|
|
/**
|
|
Abort the current stream.
|
|
|
|
@warning
|
|
It is advised to destroy the input stream instead of aborting the stream
|
|
this way.
|
|
|
|
@return Returns @true, if successful, else @false.
|
|
*/
|
|
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.
|
|
*/
|
|
virtual wxString GetContentType() const;
|
|
|
|
/**
|
|
Returns the last occurred error.
|
|
|
|
@see wxProtocolError
|
|
*/
|
|
virtual wxProtocolError GetError() const;
|
|
|
|
/**
|
|
Creates a new input stream on the specified path.
|
|
|
|
You can use all but seek() functionality of wxStream.
|
|
Seek() isn't available on all streams. For example, HTTP or FTP streams
|
|
don't deal with it. Other functions like StreamSize() and Tell() aren't
|
|
available for the moment for this sort of stream.
|
|
You will be notified when the EOF is reached by an error.
|
|
|
|
@return Returns the initialized stream. You will have to delete it
|
|
yourself once you don't use it anymore. The destructor
|
|
closes the network connection.
|
|
|
|
@see wxInputStream
|
|
*/
|
|
virtual wxInputStream* GetInputStream(const wxString& path) = 0;
|
|
|
|
/**
|
|
Tries to reestablish a previous opened connection (close and renegotiate
|
|
connection).
|
|
|
|
@return @true, if the connection is established, else @false.
|
|
*/
|
|
bool Reconnect();
|
|
|
|
/**
|
|
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 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-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);
|
|
|
|
//@}
|
|
};
|
|
|