QXmpp  Version:1.0.0
Public Slots | Signals | Public Member Functions | Properties | Friends | List of all members
QXmppTransferManager Class Reference

The QXmppTransferManager class provides support for sending and receiving files. More...

#include <QXmppTransferManager.h>

Inheritance diagram for QXmppTransferManager:
Inheritance graph
[legend]
Collaboration diagram for QXmppTransferManager:
Collaboration graph
[legend]

Public Slots

QXmppTransferJobsendFile (const QString &jid, const QString &filePath, const QString &description=QString())
 
QXmppTransferJobsendFile (const QString &jid, QIODevice *device, const QXmppTransferFileInfo &fileInfo, const QString &sid=QString())
 

Signals

void fileReceived (QXmppTransferJob *job)
 
void jobStarted (QXmppTransferJob *job)
 This signal is emitted whenever a transfer job is started.
 
void jobFinished (QXmppTransferJob *job)
 
- Signals inherited from QXmppLoggable
void setGauge (const QString &gauge, double value)
 Sets the given gauge to value.
 
void logMessage (QXmppLogger::MessageType type, const QString &msg)
 This signal is emitted to send logging messages.
 
void updateCounter (const QString &counter, qint64 amount=1)
 Updates the given counter by amount.
 

Public Member Functions

 QXmppTransferManager ()
 
QString proxy () const
 
void setProxy (const QString &proxyJid)
 
bool proxyOnly () const
 
void setProxyOnly (bool proxyOnly)
 
QXmppTransferJob::Methods supportedMethods () const
 
void setSupportedMethods (QXmppTransferJob::Methods methods)
 
- Public Member Functions inherited from QXmppClientExtension
 QXmppClientExtension ()
 
virtual ~QXmppClientExtension ()
 
virtual QStringList discoveryFeatures () const
 
virtual QList< QXmppDiscoveryIq::Identity > discoveryIdentities () const
 
virtual bool handleStanza (const QDomElement &stanza)=0
 You need to implement this method to process incoming XMPP stanzas. More...
 
- Public Member Functions inherited from QXmppLoggable
 QXmppLoggable (QObject *parent=0)
 

Properties

QString proxy
 
bool proxyOnly
 
QXmppTransferJob::Methods supportedMethods
 

Friends

class QXmppTransferManagerPrivate
 

Additional Inherited Members

- Protected Member Functions inherited from QXmppClientExtension
QXmppClientclient ()
 
virtual void setClient (QXmppClient *client)
 
- Protected Member Functions inherited from QXmppLoggable
void debug (const QString &message)
 
void info (const QString &message)
 
void warning (const QString &message)
 
void logReceived (const QString &message)
 
void logSent (const QString &message)
 

Detailed Description

The QXmppTransferManager class provides support for sending and receiving files.

Stream initiation is performed as described in XEP-0095: Stream Initiation and XEP-0096: SI File Transfer. The actual file transfer is then performed using either XEP-0065: SOCKS5 Bytestreams or XEP-0047: In-Band Bytestreams.

To make use of this manager, you need to instantiate it and load it into the QXmppClient instance as follows:

client->addExtension(manager);

Constructor & Destructor Documentation

◆ QXmppTransferManager()

QXmppTransferManager::QXmppTransferManager ( )

Constructs a QXmppTransferManager to handle incoming and outgoing file transfers.

Member Function Documentation

◆ fileReceived

void QXmppTransferManager::fileReceived ( QXmppTransferJob job)
signal

This signal is emitted when a new file transfer offer is received.

To accept the transfer job, call the job's QXmppTransferJob::accept() method. To refuse the transfer job, call the job's QXmppTransferJob::abort() method.

◆ jobFinished

void QXmppTransferManager::jobFinished ( QXmppTransferJob job)
signal

This signal is emitted whenever a transfer job is finished.

See also
QXmppTransferJob::finished()

◆ sendFile [1/2]

QXmppTransferJob * QXmppTransferManager::sendFile ( const QString &  jid,
const QString &  filePath,
const QString &  description = QString() 
)
slot

Sends the file at filePath to a remote party.

The remote party will be given the choice to accept or refuse the transfer.

Returns 0 if the jid is not valid or if the file at filePath cannot be read.

Note
The recipient's jid must be a full JID with a resource, for instance "user@host/resource".

◆ sendFile [2/2]

QXmppTransferJob * QXmppTransferManager::sendFile ( const QString &  jid,
QIODevice *  device,
const QXmppTransferFileInfo &  fileInfo,
const QString &  sid = QString() 
)
slot

Sends the file in device to a remote party.

The remote party will be given the choice to accept or refuse the transfer.

Returns 0 if the jid is not valid.

Note
The recipient's jid must be a full JID with a resource, for instance "user@host/resource".
The ownership of the device should be managed by the caller.

◆ setProxy()

void QXmppTransferManager::setProxy ( const QString &  proxyJid)

Set the JID of the SOCKS5 bytestream proxy to use for outgoing transfers.

If you set a proxy, when you send a file the proxy will be offered to the recipient in addition to your own IP addresses.

◆ setProxyOnly()

void QXmppTransferManager::setProxyOnly ( bool  proxyOnly)

Set whether the proxy should systematically be used for outgoing SOCKS5 bytestream transfers.

Note
If you set this to true and do not provide a proxy using setProxy(), your outgoing transfers will fail!

◆ setSupportedMethods()

void QXmppTransferManager::setSupportedMethods ( QXmppTransferJob::Methods  methods)

Set the supported stream methods. This allows you to selectively enable or disable stream methods (In-Band or SOCKS5 bytestreams).

The methods argument is a combination of zero or more QXmppTransferJob::Method.

Property Documentation

◆ proxy

QString QXmppTransferManager::proxy
readwrite

Return the JID of the bytestream proxy to use for outgoing transfers.

◆ proxyOnly

bool QXmppTransferManager::proxyOnly
readwrite

Return whether the proxy will systematically be used for outgoing SOCKS5 bytestream transfers.

◆ supportedMethods

QXmppTransferJob::Methods QXmppTransferManager::supportedMethods
readwrite

Return the supported stream methods.

The methods are a combination of zero or more QXmppTransferJob::Method.


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