SOCKS5BytestreamHandler Class Reference

A virtual interface that allows to receive new incoming SOCKS5 Bytestream requests from remote entities. More...

#include <socks5bytestreamhandler.h>

Inheritance diagram for SOCKS5BytestreamHandler:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~SOCKS5BytestreamHandler ()
virtual void handleIncomingSOCKS5BytestreamRequest (const std::string &sid, const JID &from)=0
virtual void handleIncomingSOCKS5Bytestream (SOCKS5Bytestream *s5b)=0
virtual void handleOutgoingSOCKS5Bytestream (SOCKS5Bytestream *s5b)=0
virtual void handleSOCKS5BytestreamError (Stanza *stanza, const std::string &sid)=0


Detailed Description

A virtual interface that allows to receive new incoming SOCKS5 Bytestream requests from remote entities.

See SOCKS5BytestreamManager for a detailed description on how to implement SOCKS5 Bytestreams.

Author:
Jakob Schroeter <js@camaya.net>
Since:
0.9

Definition at line 33 of file socks5bytestreamhandler.h.


Constructor & Destructor Documentation

virtual ~SOCKS5BytestreamHandler (  )  [inline, virtual]

Virtual destructor.

Definition at line 39 of file socks5bytestreamhandler.h.


Member Function Documentation

virtual void handleIncomingSOCKS5BytestreamRequest ( const std::string &  sid,
const JID from 
) [pure virtual]

Notifies the implementor of a new incoming SOCKS5 request. You have to call either SOCKS5BytestreamManager::acceptSOCKS5Bytestream() or SOCKS5BytestreamManager::rejectSOCKS5Bytestream(), to accept or reject the bytestream request, respectively.

Parameters:
sid The bytestream's id, to be passed to SOCKS5BytestreamManager::acceptSOCKS5Bytestream() and SOCKS5BytestreamManager::rejectSOCKS5Bytestream(), respectively.
from The remote initiator of the bytestream request.

Implemented in SIProfileFT.

virtual void handleIncomingSOCKS5Bytestream ( SOCKS5Bytestream s5b  )  [pure virtual]

Notifies the implementor of a new incoming SOCKS5 bytestream. The bytestream is not yet ready to send data. To initialize the bytestream and to prepare it for data transfer, register a SOCKS5BytestreamDataHandler with it and call its connect() method. To not block your application while the data transfer lasts, you most likely want to put the bytestream into its own thread or process (before calling connect() on it). It is safe to do so without additional synchronization. When you are finished using the bytestream, use SIProfileFT::dispose() (or SOCKS5BytestreamManager::dispose() if you use SOCKS5BytestreamManager directly) to get rid of it.

Parameters:
s5b The bytestream.

Implemented in SIProfileFT.

virtual void handleOutgoingSOCKS5Bytestream ( SOCKS5Bytestream s5b  )  [pure virtual]

Notifies the implementor of successful establishing of an outgoing SOCKS5 bytestream request. The stream has been accepted by the remote entity and is ready to send data. The SOCKS5BytestreamHandler does not become the owner of the SOCKS5Bytestream object. Use SIProfileFT::dispose() (or SOCKS5BytestreamManager::dispose() if you use SOCKS5BytestreamManager directly) to get rid of the bytestream object after it has been closed.

Parameters:
s5b The new bytestream.

Implemented in SIProfileFT.

virtual void handleSOCKS5BytestreamError ( Stanza stanza,
const std::string &  sid 
) [pure virtual]

Notifies the handler of errors occuring when a bytestream was requested. For example, if the remote entity does not implement SOCKS5 bytestreams.

Parameters:
stanza The error stanza.

Implemented in SIProfileFT.


The documentation for this class was generated from the following file:
Generated on Sat Nov 10 08:50:43 2007 for gloox by  doxygen 1.5.3-20071008