gloox  0.9.9.12
Public Member Functions | List of all members
ConnectionBase Class Reference

#include <connectionbase.h>

Inheritance diagram for ConnectionBase:
Inheritance graph
[legend]
Collaboration diagram for ConnectionBase:
Collaboration graph
[legend]

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
virtual void getStatistics (int &totalIn, int &totalOut)=0
virtual ConnectionBasenewInstance () const =0

Detailed Description

An abstract base class for a connection.

You should not need to use this class directly.

Author
Jakob Schröter js@ca.nosp@m.maya.nosp@m..net
Since
0.9

Definition at line 34 of file connectionbase.h.

Constructor & Destructor Documentation

Constructor.

Parameters
cdhAn object derived from ConnectionDataHandler that will receive received data.

Definition at line 42 of file connectionbase.h.

virtual ~ConnectionBase ( )
inlinevirtual

Virtual destructor.

Definition at line 49 of file connectionbase.h.

Member Function Documentation

virtual void cleanup ( )
inlinevirtual

This function is called after a disconnect to clean up internal state. It is also called by ConnectionBase's destructor.

Reimplemented in ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.

Definition at line 89 of file connectionbase.h.

virtual ConnectionError connect ( )
pure virtual

Used to initiate the connection.

Returns
Returns the connection state.

Implemented in ConnectionSOCKS5Proxy, ConnectionHTTPProxy, ConnectionTCPClient, and ConnectionTCPServer.

virtual void disconnect ( )
pure virtual

Disconnects an established connection. NOOP if no active connection exists.

Implemented in ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.

virtual void getStatistics ( int &  totalIn,
int &  totalOut 
)
pure virtual

Returns current connection statistics.

Parameters
totalInThe total number of bytes received.
totalOutThe total number of bytes sent.

Implemented in ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.

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.

Returns
A new Connection* instance.

Implemented in ConnectionSOCKS5Proxy, ConnectionHTTPProxy, ConnectionTCPClient, and ConnectionTCPServer.

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.

Returns
Returns a value indicating the disconnection reason.

Implemented in ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.

virtual ConnectionError recv ( int  timeout = -1)
pure virtual

Use this periodically to receive data from the socket and to feed the parser.

Parameters
timeoutThe timeout to use for select in microseconds. Default of -1 means blocking.
Returns
The state of the connection.

Implemented in ConnectionSOCKS5Proxy, ConnectionHTTPProxy, ConnectionTCPClient, and ConnectionTCPServer.

void registerConnectionDataHandler ( ConnectionDataHandler cdh)
inline

Use this function to register a new ConnectionDataHandler. There can be only one ConnectionDataHandler at any one time.

Parameters
cdhThe 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.

Parameters
dataThe data to send.
Returns
True if the data has been sent (no guarantee of receipt), false in case of an error.

Implemented in ConnectionSOCKS5Proxy, ConnectionHTTPProxy, and ConnectionTCPBase.

const std::string& server ( ) const
inline

Returns the currently set server/IP.

Returns
The server host/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.

Parameters
serverThe server to connect to. Either IP or fully qualified domain name.
portThe port to connect to.

Reimplemented in ConnectionHTTPProxy.

Definition at line 109 of file connectionbase.h.

ConnectionState state ( ) const
inline

Returns the current connection state.

Returns
The state of the connection.

Definition at line 95 of file connectionbase.h.


The documentation for this class was generated from the following file: