wxWidgets/interface/wx/protocol/protocol.h
Francesco Montorsi 730b772b41 Move SetDefaultTimeout to wxProtocol and set it to 60 seconds for both wxHTTP and wxFTP
Move SetPassword and SetUser implementations to wxProtocol to avoid code redundancy
Make const-correct various getters
Reorganize wxFTP docs
Move wxStringToStringHashMap to hashmap.h and document its existance



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 15:08:13 +00:00

112 lines
3.3 KiB
Objective-C

/////////////////////////////////////////////////////////////////////////////
// Name: protocol/protocol.h
// Purpose: interface of wxProtocol
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
/**
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);
};