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

#include <socks5bytestreamhandler.h>

Inheritance diagram for SOCKS5BytestreamHandler:
Inheritance graph
[legend]

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@ca.nosp@m.maya.nosp@m..net
Since
0.9

Definition at line 33 of file socks5bytestreamhandler.h.

Constructor & Destructor Documentation

virtual ~SOCKS5BytestreamHandler ( )
inlinevirtual

Virtual destructor.

Definition at line 39 of file socks5bytestreamhandler.h.

Member Function Documentation

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
s5bThe bytestream.

Implemented in SIProfileFT.

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
sidThe bytestream's id, to be passed to SOCKS5BytestreamManager::acceptSOCKS5Bytestream() and SOCKS5BytestreamManager::rejectSOCKS5Bytestream(), respectively.
fromThe remote initiator of the bytestream request.

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
s5bThe 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
stanzaThe error stanza.

Implemented in SIProfileFT.


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