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

#include <bytestreamhandler.h>

Inheritance diagram for BytestreamHandler:
Inheritance graph
[legend]

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.

Author
Jakob Schröter js@ca.nosp@m.maya.nosp@m..net
Since
1.0

Definition at line 36 of file bytestreamhandler.h.

Constructor & Destructor Documentation

◆ ~BytestreamHandler()

virtual ~BytestreamHandler ( )
inlinevirtual

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.

Parameters
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.

Parameters
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.

Parameters
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.

Parameters
bsThe new bytestream.

Implemented in SIProfileFT.


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