| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // 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-@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);
 
-     //@}
 
- };
 
 
  |