gloox  1.0.20
Public Member Functions | List of all members
BytestreamHandler Class Referenceabstract

#include <bytestreamhandler.h>

Inheritance diagram for BytestreamHandler:
Inheritance graph

Public Member Functions

virtual ~BytestreamHandler ()
virtual void handleIncomingBytestreamRequest (const std::string &sid, const JID &from)=0
virtual void handleIncomingBytestream (Bytestream *bs)=0
virtual void handleOutgoingBytestream (Bytestream *bs)=0
virtual void handleBytestreamError (const IQ &iq, const std::string &sid)=0

Detailed Description

A virtual interface that allows to receive new incoming Bytestream requests from remote entities.

You should not need to use this interface directly.

See SIProfileFT on how to implement file transfer in general.

Jakob Schröter

Definition at line 36 of file bytestreamhandler.h.

Constructor & Destructor Documentation

◆ ~BytestreamHandler()

virtual ~BytestreamHandler ( )

Virtual destructor.

Definition at line 42 of file bytestreamhandler.h.

Member Function Documentation

◆ handleBytestreamError()

virtual void handleBytestreamError ( const IQ iq,
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.

iqThe error stanza.
sidThe request's SID.

Implemented in SIProfileFT.

◆ handleIncomingBytestream()

virtual void handleIncomingBytestream ( Bytestream bs)
pure virtual

Notifies the implementor of a new incoming bytestream. The bytestream is not yet ready to send data. To initialize the bytestream and to prepare it for data transfer, register a BytestreamDataHandler 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() to get rid of it.

bsThe bytestream.

Implemented in SIProfileFT.

◆ handleIncomingBytestreamRequest()

virtual void handleIncomingBytestreamRequest ( const std::string &  sid,
const JID from 
pure virtual

Notifies the implementor of a new incoming bytestream request. You have to call either BytestreamManager::acceptBytestream() or BytestreamManager::rejectBytestream(), to accept or reject the bytestream request, respectively.

sidThe bytestream's id, to be passed to BytestreamManager::acceptBytestream() and BytestreamManager::rejectBytestream(), respectively.
fromThe remote initiator of the bytestream request.

Implemented in SIProfileFT.

◆ handleOutgoingBytestream()

virtual void handleOutgoingBytestream ( Bytestream bs)
pure virtual

Notifies the implementor of successful establishing of an outgoing bytestream request. The stream has been accepted by the remote entity and is ready to send data. The BytestreamHandler does not become the owner of the Bytestream object. Use SIProfileFT::dispose() to get rid of the bytestream object after it has been closed.

bsThe new bytestream.

Implemented in SIProfileFT.

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