diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-24 10:37:10 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-24 10:37:10 +0000 |
| commit | c6015694703439c8913735a2300b4cad039bbebb (patch) | |
| tree | 9efa890cb760c8b18ed6b2fab4bd12fda1122e52 /example/example_4_ibbTransferTarget/ibbTransferTarget.cpp | |
| parent | 95d3dfef904b3a90b64c8b28f93b3f4c04701048 (diff) | |
| download | qxmpp-c6015694703439c8913735a2300b4cad039bbebb.tar.gz | |
update ibbTransferTarget example to use QXmppTransferManager
Diffstat (limited to 'example/example_4_ibbTransferTarget/ibbTransferTarget.cpp')
| -rw-r--r-- | example/example_4_ibbTransferTarget/ibbTransferTarget.cpp | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/example/example_4_ibbTransferTarget/ibbTransferTarget.cpp b/example/example_4_ibbTransferTarget/ibbTransferTarget.cpp index c09efaac..d50b2527 100644 --- a/example/example_4_ibbTransferTarget/ibbTransferTarget.cpp +++ b/example/example_4_ibbTransferTarget/ibbTransferTarget.cpp @@ -1,8 +1,9 @@ /* - * Copyright (C) 2008-2009 QXmpp Developers + * Copyright (C) 2008-2010 QXmpp Developers * - * Author: + * Authors: * Ian Reinhart Geiser + * Jeremy Lainé * * Source: * http://code.google.com/p/qxmpp @@ -21,22 +22,18 @@ * */ +#include <QBuffer> +#include <QDebug> -#include "ibbTransferTarget.h" #include "QXmppMessage.h" -#include "QXmppIbbTransferManager.h" -#include <QBuffer> -#include <qdebug.h> + +#include "ibbTransferTarget.h" IbbTransferTarget::IbbTransferTarget(QObject *parent) : QXmppClient(parent) { - bool check = connect(getIbbTransferManager(), SIGNAL(byteStreamRequestReceived(QString,QString)), - this, SLOT(openReceived(QString,QString))); - Q_ASSERT(check); - - check = connect(getIbbTransferManager(), SIGNAL(byteStreamClosed(QString,QString)), - this, SLOT(closeReceived(QString,QString))); + bool check = connect(&getTransferManager(), SIGNAL(fileReceived(QXmppTransferJob*)), + this, SLOT(slotFileReceived(QXmppTransferJob*))); Q_ASSERT(check); m_buffer = new QBuffer(this); @@ -47,13 +44,33 @@ IbbTransferTarget::~IbbTransferTarget() { } -void IbbTransferTarget::openReceived( const QString &sid, const QString& from) +void IbbTransferTarget::slotFileReceived(QXmppTransferJob *job) +{ + qDebug() << "Got transfer request from:" << job->jid(); + + bool check = connect(job, SIGNAL(error(QXmppTransferJob::Error)), this, SLOT(slotError(QXmppTransferJob::Error))); + Q_ASSERT(check); + + check = connect(job, SIGNAL(finished()), this, SLOT(slotFinished())); + Q_ASSERT(check); + + check = connect(job, SIGNAL(progress(qint64,qint64)), this, SLOT(slotProgress(qint64,qint64))); + Q_ASSERT(check); + + job->accept(m_buffer); +} + +void IbbTransferTarget::slotError(QXmppTransferJob::Error error) +{ + qDebug() << "Transmission failed:" << error; +} + +void IbbTransferTarget::slotFinished() { - qDebug() << "Got open byte stream request from" << from; - getIbbTransferManager()->acceptByteStreamRequest(sid, m_buffer); + qDebug() << "Transfer finished:" << m_buffer->data(); } -void IbbTransferTarget::closeReceived( const QString& sid, const QString& reason) +void IbbTransferTarget::slotProgress(qint64 done, qint64 total) { - qDebug() << "Stream done:" << m_buffer->data(); + qDebug() << "Transfer progress:" << done << "/" << total; } |
