|
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.
1.7.4