14 #ifndef SIPROFILEFT_H__
15 #define SIPROFILEFT_H__
17 #include "iqhandler.h"
18 #include "socks5bytestreammanager.h"
19 #include "siprofilehandler.h"
20 #include "sihandler.h"
21 #include "simanager.h"
22 #include "bytestreamhandler.h"
31 class InBandBytestream;
34 class SIProfileFTHandler;
35 class SOCKS5Bytestream;
202 const std::string requestFT(
const JID& to,
const std::string& name,
long size,
207 int streamTypes = FTTypeAll,
221 void acceptFT(
const JID& to,
const std::string& sid,
222 StreamType type = FTTypeS5B,
const JID& from =
JID() );
276 void addStreamHost(
const JID& jid,
const std::string& host,
int port );
284 {
if( m_socks5Manager ) m_socks5Manager->registerSOCKS5BytestreamServer( server ); }
290 {
if( m_socks5Manager ) m_socks5Manager->removeSOCKS5BytestreamServer(); }
293 virtual void handleSIRequest(
const JID& from,
const JID& to,
const std::string&
id,
294 const SIManager::SI& si );
297 virtual void handleSIRequestResult(
const JID& from,
const JID& to,
const std::string& sid,
298 const SIManager::SI& si );
301 virtual void handleSIRequestError(
const IQ& iq,
const std::string& sid );
304 virtual void handleIncomingBytestreamRequest(
const std::string& sid,
const JID& from );
307 virtual void handleIncomingBytestream(
Bytestream* bs );
310 virtual void handleOutgoingBytestream(
Bytestream* bs );
313 virtual void handleBytestreamError(
const IQ& iq,
const std::string& sid );
316 virtual bool handleIq(
const IQ& iq ) { (void)iq;
return false; }
319 virtual void handleIqID(
const IQ& iq,
int context );
328 ClientBase* m_parent;
329 SIManager* m_manager;
330 SIProfileFTHandler* m_handler;
331 SOCKS5BytestreamManager* m_socks5Manager;
341 #endif // SIPROFILEFT_H__
An implementation of the file transfer SI profile (XEP-0096).
A server listening for SOCKS5 bytestreams.
An abstract base class to handle results of outgoing SI requests, i.e. you requested a stream (using ...
An abstract base class to handle file transfer (FT) requests.
An abstraction of an IQ stanza.
An SOCKS5BytestreamManager dispatches SOCKS5 Bytestreams.
std::list< StreamHost > StreamHostList
void registerSOCKS5BytestreamServer(SOCKS5BytestreamServer *server)
void removeSOCKS5BytestreamServer()
void removeSIProfileFTHandler()
The namespace for the gloox library.
This class manages streams initiated using XEP-0095.
std::map< std::string, std::string > StringMap
An abstraction of a single bytestream.
A virtual interface which can be reimplemented to receive IQ stanzas.
void registerSIProfileFTHandler(SIProfileFTHandler *sipfth)
A virtual interface that allows to receive new incoming Bytestream requests from remote entities...
const std::string EmptyString
virtual bool handleIq(const IQ &iq)
This is the common base class for a Jabber/XMPP Client and a Jabber Component.
An abstract base class to handle SI requests for a specific profile, e.g. file transfer.