| Version: 3.3.1

Public Member Functions | List of all members
wxProtocol Class Referenceabstract
Class List by Category » Networking

`#include <wx/protocol/protocol.h>`

Inheritance diagram for wxProtocol:
[legend]

## Detailed Description

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: Networking

See also
  wxSocketBase, wxURL

## Public Member Functions
virtual bool | Abort ()=0
| Abort the current stream. More...
virtual wxString | GetContentType () const
| Returns the type of the content of the last opened stream. More...
virtual wxProtocolError | GetError () const
| Returns the last occurred error. More...
virtual wxInputStream * | GetInputStream (const wxString &path)=0
| Creates a new input stream on the specified path. More...
bool | Reconnect ()
| Tries to reestablish a previous opened connection (close and renegotiate connection). More...
virtual void | SetPassword (const wxString &user)
| Sets the authentication password. More...
virtual void | SetUser (const wxString &user)
| Sets the authentication user. More...
void | SetDefaultTimeout (wxUint32 Value)
| Sets a new default timeout for the network operations. More...
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 also wxProtocolLog
void | SetLog (wxProtocolLog *log)
| Set the logger, deleting the old one and taking ownership of this one. More...
wxProtocolLog * | GetLog () const
| Return the current logger, may be nullptr. More...
wxProtocolLog * | DetachLog ()
| Detach the existing logger without deleting it. More...
void | LogRequest (const wxString &str)
| Call wxProtocolLog::LogRequest() if we have a valid logger or do nothing otherwise. More...
void | LogResponse (const wxString &str)
| Call wxProtocolLog::LogResponse() if we have a valid logger or do nothing otherwise. More...
Public Member Functions inherited from wxSocketClient
| wxSocketClient (wxSocketFlags flags=wxSOCKET_NONE)
| Constructor. More...
virtual | ~wxSocketClient ()
| Destructor. More...
virtual bool | Connect (const wxSockAddress &address, bool wait=true)
| Connects to a server using the specified address. More...
bool | Connect (const wxSockAddress &address, const wxSockAddress &local, bool wait=true)
| Connects to a server using the specified address. More...
bool | WaitOnConnect (long seconds=-1, long milliseconds=0)
| Wait until a connection request completes, or until the specified timeout elapses. More...
Public Member Functions inherited from wxSocketBase
bool | Error () const
| Returns true if an error occurred in the last IO operation. More...
virtual bool | GetLocal (wxSockAddress &addr) const
| Return the local address of the socket. More...
virtual bool | GetPeer (wxSockAddress &addr) const
| Return the peer address field of the socket. More...
long | GetTimeout () const
| Return the socket timeout in seconds. More...
bool | IsConnected () const
| Returns true if the socket is connected. More...
bool | IsData ()
| Check if the socket can be currently read or written. More...
bool | IsDisconnected () const
| Returns true if the socket is not connected. More...
bool | IsOk () const
| Returns true if the socket is initialized and ready and false in other cases. More...
wxUint32 | LastCount () const
| Returns the number of bytes read or written by the last IO call. More...
wxUint32 | LastReadCount () const
| Returns the number of bytes read by the last Read() or ReadMsg() call (receive direction only). More...
wxUint32 | LastWriteCount () const
| Returns the number of bytes written by the last Write() or WriteMsg() call (transmit direction only). More...
wxSocketError | LastError () const
| Returns the last wxSocket error. More...
void | RestoreState ()
| Restore the previous state of the socket, as saved with SaveState(). More...
void | SaveState ()
| Save the current state of the socket in a stack. More...
virtual bool | Close ()
| Shut down the socket, disabling further transmission and reception of data and disable events for the socket and frees the associated system resources. More...
void | ShutdownOutput ()
| Shuts down the writing end of the socket. More...
wxSocketBase & | Discard ()
| Delete all bytes in the incoming queue. More...
wxSocketFlags | GetFlags () const
| Returns current IO flags, as set with SetFlags() More...
void | InterruptWait ()
| Use this function to interrupt any wait operation currently in progress. More...
wxSocketBase & | Peek (void *buffer, wxUint32 nbytes)
| Peek into the socket by copying the next bytes which would be read by Read() into the provided buffer. More...
wxSocketBase & | Read (void *buffer, wxUint32 nbytes)
| Read up to the given number of bytes from the socket. More...
wxSocketBase & | ReadMsg (void *buffer, wxUint32 nbytes)
| Receive a message sent by WriteMsg(). More...
void | SetFlags (wxSocketFlags flags)
| Use SetFlags to customize IO operation for this socket. More...
virtual bool | SetLocal (const wxIPV4address &local)
| Set the local address and port to use. More...
void | SetTimeout (long seconds)
| Set the default socket timeout in seconds. More...
wxSocketBase & | Unread (const void *buffer, wxUint32 nbytes)
| Put the specified data into the input queue. More...
bool | Wait (long seconds=-1, long millisecond=0)
| Wait for any socket event. More...
bool | WaitForLost (long seconds=-1, long millisecond=0)
| Wait until the connection is lost. More...
bool | WaitForRead (long seconds=-1, long millisecond=0)
| Wait until the socket is readable. More...
bool | WaitForWrite (long seconds=-1, long millisecond=0)
| Wait until the socket becomes writable. More...
wxSocketBase & | Write (const void *buffer, wxUint32 nbytes)
| Write up to the given number of bytes to the socket. More...
wxSocketBase & | WriteMsg (const void *buffer, wxUint32 nbytes)
| Sends a buffer which can be read using ReadMsg(). More...
void * | GetClientData () const
| Returns a pointer of the client data for this socket, as set with SetClientData() More...
void | Notify (bool notify)
| According to the notify value, this function enables or disables socket events. More...
void | SetClientData (void *data)
| Sets user-supplied client data for this socket. More...
void | SetEventHandler (wxEvtHandler &handler, int id=-1)
| Sets an event handler to be called when a socket event occurs. More...
void | SetNotify (wxSocketEventFlags flags)
| Specifies which socket events are to be sent to the event handler. More...
wxSOCKET_T | GetSocket () const
| Returns the native socket descriptor. More...
| wxSocketBase ()
| Default constructor. More...
virtual | ~wxSocketBase ()
| Destructor. More...
bool | Destroy ()
| Destroys the socket safely. More...
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to nullptr the internal reference data. More...
| wxObject (const wxObject &other)
| Copy ctor. More...
virtual | ~wxObject ()
| Destructor. More...
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class. More...
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj. More...
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone. More...
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer. More...
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
void | UnShare ()
| This is the same of AllocExclusive() but this method is public. More...
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...
void * | operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...

## Additional Inherited Members
Static Public Member Functions inherited from wxSocketBase
static bool | Initialize ()
| Perform the initialization needed in order to use the sockets. More...
static void | Shutdown ()
| Shut down the sockets. More...
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object. More...
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data. More...

## Member Function Documentation

## ◆ Abort()

virtual bool wxProtocol::Abort | ( |  | ) |
| pure virtual

Abort the current stream.

Warning
  It is advised to destroy the input stream instead of aborting the stream this way.

Returns
  Returns true, if successful, else false.

Implemented in wxFTP.

## ◆ DetachLog()

wxProtocolLog* wxProtocol::DetachLog | ( |  | ) |

Detach the existing logger without deleting it.

The caller is responsible for deleting the returned pointer if it's non-null.

## ◆ GetContentType()

virtual wxString wxProtocol::GetContentType | ( |  | ) | const
| virtual

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.

## ◆ GetError()

virtual wxProtocolError wxProtocol::GetError | ( |  | ) | const
| virtual

Returns the last occurred error.

See also
  wxProtocolError

## ◆ GetInputStream()

virtual wxInputStream* wxProtocol::GetInputStream | ( | const wxString & | path | ) |
| pure virtual

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.

Returns
  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 also
  wxInputStream

Implemented in wxHTTP, and wxFTP.

## ◆ GetLog()

wxProtocolLog* wxProtocol::GetLog | ( |  | ) | const
| inline

Return the current logger, may be nullptr.

## ◆ LogRequest()

void wxProtocol::LogRequest | ( | const wxString & | str | ) |

Call wxProtocolLog::LogRequest() if we have a valid logger or do nothing otherwise.

## ◆ LogResponse()

void wxProtocol::LogResponse | ( | const wxString & | str | ) |

Call wxProtocolLog::LogResponse() if we have a valid logger or do nothing otherwise.

## ◆ Reconnect()

bool wxProtocol::Reconnect | ( |  | ) |

Tries to reestablish a previous opened connection (close and renegotiate connection).

Returns
  true, if the connection is established, else false.

## ◆ SetDefaultTimeout()

void wxProtocol::SetDefaultTimeout | ( | wxUint32 | Value | ) |

Sets a new default timeout for the network operations.

The default timeout is 60 seconds.

See also
  wxSocketBase::SetTimeout

## ◆ SetLog()

void wxProtocol::SetLog | ( | wxProtocolLog * | log | ) |

Set the logger, deleting the old one and taking ownership of this one.

Parameters

  log | New logger allocated on the heap or nullptr.

## ◆ SetPassword()

virtual void wxProtocol::SetPassword | ( | const wxString & | user | ) |
| virtual

Sets the authentication password.

Reimplemented in wxFTP.

## ◆ SetUser()

virtual void wxProtocol::SetUser | ( | const wxString & | user | ) |
| virtual

Sets the authentication user.

Reimplemented in wxFTP.