|
gloox
1.0.1
|
#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.
1.8.1.2