gloox
1.0
|
#include <connectionbase.h>
Public Member Functions | |
ConnectionBase (ConnectionDataHandler *cdh) | |
virtual | ~ConnectionBase () |
virtual ConnectionError | connect ()=0 |
virtual ConnectionError | recv (int timeout=-1)=0 |
virtual bool | send (const std::string &data)=0 |
virtual ConnectionError | receive ()=0 |
virtual void | disconnect ()=0 |
virtual void | cleanup () |
ConnectionState | state () const |
void | registerConnectionDataHandler (ConnectionDataHandler *cdh) |
void | setServer (const std::string &server, int port=-1) |
const std::string & | server () const |
int | port () const |
virtual int | localPort () const |
virtual const std::string | localInterface () const |
virtual void | getStatistics (long int &totalIn, long int &totalOut)=0 |
virtual ConnectionBase * | newInstance () const =0 |
Protected Attributes | |
ConnectionDataHandler * | m_handler |
ConnectionState | m_state |
std::string | m_server |
int | m_port |
An abstract base class for a connection.
You should not need to use this class directly.
Definition at line 34 of file connectionbase.h.
|
inline |
Constructor.
cdh | An object derived from ConnectionDataHandler that will receive received data. |
Definition at line 42 of file connectionbase.h.
|
inlinevirtual |
Virtual destructor.
Definition at line 49 of file connectionbase.h.
|
inlinevirtual |
This function is called after a disconnect to clean up internal state. It is also called by ConnectionBase's destructor.
Reimplemented in ConnectionTLS, ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.
Definition at line 89 of file connectionbase.h.
|
pure virtual |
Used to initiate the connection.
Implemented in ConnectionTLS, ConnectionSOCKS5Proxy, ConnectionHTTPProxy, ConnectionTCPClient, and ConnectionTCPServer.
|
pure virtual |
Disconnects an established connection. NOOP if no active connection exists.
Implemented in ConnectionTLS, ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.
|
pure virtual |
Returns current connection statistics.
totalIn | The total number of bytes received. |
totalOut | The total number of bytes sent. |
Implemented in ConnectionTLS, ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.
|
inlinevirtual |
Returns the locally bound IP address.
Reimplemented in ConnectionTCPBase.
Definition at line 133 of file connectionbase.h.
|
inlinevirtual |
Returns the local port.
Reimplemented in ConnectionTCPBase.
Definition at line 127 of file connectionbase.h.
|
pure virtual |
This function returns a new instance of the current ConnectionBase-derived object. The idea is to be able to 'clone' ConnectionBase-derived objects without knowing of what type they are exactly.
Implemented in ConnectionTLS, ConnectionSOCKS5Proxy, ConnectionHTTPProxy, ConnectionTCPClient, ConnectionTLSServer, and ConnectionTCPServer.
|
inline |
Returns the currently set port.
Definition at line 121 of file connectionbase.h.
|
pure virtual |
Use this function to put the connection into 'receive mode', i.e. this function returns only when the connection is terminated.
Implemented in ConnectionTLS, ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.
|
pure virtual |
Use this periodically to receive data from the socket.
timeout | The timeout to use for select in microseconds. Default of -1 means blocking. |
Implemented in ConnectionTLS, ConnectionSOCKS5Proxy, ConnectionHTTPProxy, ConnectionTCPClient, and ConnectionTCPServer.
|
inline |
Use this function to register a new ConnectionDataHandler. There can be only one ConnectionDataHandler at any one time.
cdh | The new ConnectionDataHandler. |
Definition at line 102 of file connectionbase.h.
|
pure virtual |
Use this function to send a string of data over the wire. The function returns only after all data has been sent.
data | The data to send. |
Implemented in ConnectionTLS, ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.
|
inline |
Returns the currently set server/IP.
Definition at line 115 of file connectionbase.h.
|
inline |
Sets the server to connect to.
server | The server to connect to. Either IP or fully qualified domain name. |
port | The port to connect to. |
Reimplemented in ConnectionHTTPProxy.
Definition at line 109 of file connectionbase.h.
|
inline |
Returns the current connection state.
Definition at line 95 of file connectionbase.h.
|
protected |
A handler for incoming data and connect/disconnect events.
Definition at line 152 of file connectionbase.h.
|
protected |
Holds the port to connect to.
Definition at line 161 of file connectionbase.h.
|
protected |
Holds the server's name/address.
Definition at line 158 of file connectionbase.h.
|
protected |
Holds the current connection state.
Definition at line 155 of file connectionbase.h.