gloox
1.0
|
#include <socks5bytestreammanager.h>
Public Types | |
enum | S5BMode { S5BTCP, S5BUDP, S5BInvalid } |
Public Member Functions | |
SOCKS5BytestreamManager (ClientBase *parent, BytestreamHandler *s5bh) | |
virtual | ~SOCKS5BytestreamManager () |
void | setStreamHosts (StreamHostList hosts) |
void | addStreamHost (const JID &jid, const std::string &host, int port) |
bool | requestSOCKS5Bytestream (const JID &to, S5BMode mode, const std::string &sid=EmptyString, const JID &from=JID()) |
bool | dispose (SOCKS5Bytestream *s5b) |
void | acceptSOCKS5Bytestream (const std::string &sid) |
void | rejectSOCKS5Bytestream (const std::string &sid, StanzaError reason=StanzaErrorNotAcceptable) |
void | registerBytestreamHandler (BytestreamHandler *s5bh) |
void | removeBytestreamHandler () |
void | registerSOCKS5BytestreamServer (SOCKS5BytestreamServer *server) |
void | removeSOCKS5BytestreamServer () |
virtual bool | handleIq (const IQ &iq) |
virtual void | handleIqID (const IQ &iq, int context) |
Public Member Functions inherited from IqHandler | |
virtual | ~IqHandler () |
An SOCKS5BytestreamManager dispatches SOCKS5 Bytestreams.
Definition at line 51 of file socks5bytestreammanager.h.
enum S5BMode |
Supported transport layer protocols.
S5BTCP |
Use TCP on the transport layer. |
S5BUDP |
Use UDP on the transport layer. Not currently supported. |
S5BInvalid |
Invalid mode. |
Definition at line 61 of file socks5bytestreammanager.h.
SOCKS5BytestreamManager | ( | ClientBase * | parent, |
BytestreamHandler * | s5bh | ||
) |
Constructs a new SOCKS5BytestreamManager.
parent | The ClientBase to use for sending data. |
s5bh | A SOCKS5BytestreamManager -derived object that will receive incoming and outgoing SOCKS5Bytestreams. |
Definition at line 148 of file socks5bytestreammanager.cpp.
|
virtual |
Virtual destructor.
Definition at line 158 of file socks5bytestreammanager.cpp.
void acceptSOCKS5Bytestream | ( | const std::string & | sid | ) |
Use this function to accept an incoming bytestream.
sid | The stream's id as passed to BytestreamHandler::handleIncomingSOCKS5Bytestream(). |
Definition at line 340 of file socks5bytestreammanager.cpp.
void addStreamHost | ( | const JID & | jid, |
const std::string & | host, | ||
int | port | ||
) |
Adds one StreamHost to the list of StreamHosts.
jid | The StreamHost's JID. |
host | The StreamHost's hostname. |
port | The StreamHost's port. |
Definition at line 169 of file socks5bytestreammanager.cpp.
bool dispose | ( | SOCKS5Bytestream * | s5b | ) |
To get rid of a bytestream (i.e., close and delete it), call this function. You should then not use the bytestream any more. The remote entity will be notified of the closing of the stream.
s5b | The bytestream to dispose. It will be deleted here. |
Definition at line 473 of file socks5bytestreammanager.cpp.
|
virtual |
Reimplement this function if you want to be notified about incoming IQs.
iq | The complete IQ stanza. |
Implements IqHandler.
Definition at line 269 of file socks5bytestreammanager.cpp.
|
virtual |
Reimplement this function if you want to be notified about incoming IQs with a specific value of the id
attribute. You have to enable tracking of those IDs using Client::trackID(). This is usually useful for IDs that generate a positive reply, i.e. <iq type='result' id='reg'/> where a namespace filter wouldn't work.
iq | The complete IQ stanza. |
context | A value to restore context, stored with ClientBase::trackID(). |
Implements IqHandler.
Definition at line 390 of file socks5bytestreammanager.cpp.
|
inline |
Use this function to register an object that will receive new incoming bytestream requests from the SOCKS5BytestreamManager. Only one BytestreamHandler can be registered at any one time.
s5bh | The BytestreamHandler derived object to receive notifications. |
Definition at line 141 of file socks5bytestreammanager.h.
|
inline |
Tells the SOCKS5BytestreamManager which SOCKS5BytestreamServer handles peer-2-peer SOCKS5 bytestreams.
server | The SOCKS5BytestreamServer to use. |
Definition at line 155 of file socks5bytestreammanager.h.
void rejectSOCKS5Bytestream | ( | const std::string & | sid, |
StanzaError | reason = StanzaErrorNotAcceptable |
||
) |
Use this function to reject an incoming bytestream.
sid | The stream's id as passed to BytestreamHandler::handleIncomingSOCKS5Bytestream(). |
reason | The reason for the reject. |
Definition at line 354 of file socks5bytestreammanager.cpp.
|
inline |
Removes the registered BytestreamHandler.
Definition at line 147 of file socks5bytestreammanager.h.
|
inline |
Un-registers any local SOCKS5BytestreamServer.
Definition at line 160 of file socks5bytestreammanager.h.
bool requestSOCKS5Bytestream | ( | const JID & | to, |
S5BMode | mode, | ||
const std::string & | sid = EmptyString , |
||
const JID & | from = JID() |
||
) |
This function requests a bytestream with the remote entity. Data can only be sent over an open stream. Use isOpen() to find out what the stream's current state is. However, successful opening/initiation will be announced by means of the BytestreamHandler interface. Multiple bytestreams (even per JID) can be initiated without waiting for success.
to | The recipient of the requested bytestream. |
mode | The desired transport layer protocol. |
sid | The bytestream's stream ID, if previously negotiated e.g. using SI (XEP-0095). |
from | An optional 'from' address to stamp outgoing requests with. Only useful in component scenarios. Defaults to empty JID. |
Definition at line 178 of file socks5bytestreammanager.cpp.
|
inline |
Sets a list of StreamHosts that will be used for subsequent bytestream requests.
hosts | A list of StreamHosts. |
Definition at line 86 of file socks5bytestreammanager.h.