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 abstract base class to handle SI requests for a specific profile, e.g. file transfer.
virtual bool handleIq(const IQ &iq)
std::list< StreamHost > StreamHostList
void registerSOCKS5BytestreamServer(SOCKS5BytestreamServer *server)
A virtual interface which can be reimplemented to receive IQ stanzas.
An abstract base class to handle file transfer (FT) requests.
void removeSIProfileFTHandler()
An implementation of the file transfer SI profile (XEP-0096).
void removeSOCKS5BytestreamServer()
An abstraction of a single bytestream.
An abstract base class to handle results of outgoing SI requests, i.e. you requested a stream (using ...
The namespace for the gloox library.
An abstraction of an IQ stanza.
This is the common base class for a Jabber/XMPP Client and a Jabber Component.
A virtual interface that allows to receive new incoming Bytestream requests from remote entities.
This class manages streams initiated using XEP-0095.
An SOCKS5BytestreamManager dispatches SOCKS5 Bytestreams.
const std::string EmptyString
A server listening for SOCKS5 bytestreams.
void registerSIProfileFTHandler(SIProfileFTHandler *sipfth)
std::map< std::string, std::string > StringMap