gloox 1.0
|
An abstract base class for a connection. More...
#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.
ConnectionBase | ( | ConnectionDataHandler * | cdh | ) | [inline] |
Constructor.
cdh | An object derived from ConnectionDataHandler that will receive received data. |
Definition at line 42 of file connectionbase.h.
virtual ~ConnectionBase | ( | ) | [inline, virtual] |
Virtual destructor.
Definition at line 49 of file connectionbase.h.
virtual void cleanup | ( | ) | [inline, virtual] |
This function is called after a disconnect to clean up internal state. It is also called by ConnectionBase's destructor.
Reimplemented in ConnectionBOSH, ConnectionHTTPProxy, ConnectionSOCKS5Proxy, ConnectionTCPBase, and ConnectionTLS.
Definition at line 89 of file connectionbase.h.
virtual ConnectionError connect | ( | ) | [pure virtual] |
Used to initiate the connection.
Implemented in ConnectionBOSH, ConnectionHTTPProxy, ConnectionSOCKS5Proxy, ConnectionTCPClient, ConnectionTCPServer, and ConnectionTLS.
virtual void disconnect | ( | ) | [pure virtual] |
Disconnects an established connection. NOOP if no active connection exists.
Implemented in ConnectionBOSH, ConnectionHTTPProxy, ConnectionSOCKS5Proxy, ConnectionTCPBase, and ConnectionTLS.
virtual void getStatistics | ( | long int & | totalIn, |
long int & | totalOut | ||
) | [pure virtual] |
Returns current connection statistics.
totalIn | The total number of bytes received. |
totalOut | The total number of bytes sent. |
Implemented in ConnectionBOSH, ConnectionHTTPProxy, ConnectionSOCKS5Proxy, ConnectionTCPBase, and ConnectionTLS.
virtual const std::string localInterface | ( | ) | const [inline, virtual] |
Returns the locally bound IP address.
Reimplemented in ConnectionTCPBase.
Definition at line 133 of file connectionbase.h.
virtual int localPort | ( | ) | const [inline, virtual] |
Returns the local port.
Reimplemented in ConnectionTCPBase.
Definition at line 127 of file connectionbase.h.
virtual ConnectionBase* newInstance | ( | ) | const [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 ConnectionBOSH, ConnectionHTTPProxy, ConnectionSOCKS5Proxy, ConnectionTCPClient, ConnectionTCPServer, ConnectionTLS, and ConnectionTLSServer.
int port | ( | ) | const [inline] |
Returns the currently set port.
Definition at line 121 of file connectionbase.h.
virtual ConnectionError receive | ( | ) | [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 ConnectionBOSH, ConnectionHTTPProxy, ConnectionSOCKS5Proxy, ConnectionTCPBase, and ConnectionTLS.
virtual ConnectionError recv | ( | int | timeout = -1 | ) | [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 ConnectionBOSH, ConnectionHTTPProxy, ConnectionSOCKS5Proxy, ConnectionTCPClient, ConnectionTCPServer, and ConnectionTLS.
void registerConnectionDataHandler | ( | ConnectionDataHandler * | cdh | ) | [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.
virtual bool send | ( | const std::string & | data | ) | [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 ConnectionBOSH, ConnectionHTTPProxy, ConnectionSOCKS5Proxy, ConnectionTCPBase, and ConnectionTLS.
const std::string& server | ( | ) | const [inline] |
Returns the currently set server/IP.
Definition at line 115 of file connectionbase.h.
void setServer | ( | const std::string & | server, |
int | port = -1 |
||
) | [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.
ConnectionState state | ( | ) | const [inline] |
Returns the current connection state.
Definition at line 95 of file connectionbase.h.
ConnectionDataHandler* m_handler [protected] |
A handler for incoming data and connect/disconnect events.
Definition at line 152 of file connectionbase.h.
int m_port [protected] |
Holds the port to connect to.
Definition at line 161 of file connectionbase.h.
std::string m_server [protected] |
Holds the server's name/address.
Definition at line 158 of file connectionbase.h.
ConnectionState m_state [protected] |
Holds the current connection state.
Definition at line 155 of file connectionbase.h.