aboutsummaryrefslogtreecommitdiff
path: root/example/example_4_ibbTransferTarget/ibbTransferTarget.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-02-24 10:37:10 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-02-24 10:37:10 +0000
commitc6015694703439c8913735a2300b4cad039bbebb (patch)
tree9efa890cb760c8b18ed6b2fab4bd12fda1122e52 /example/example_4_ibbTransferTarget/ibbTransferTarget.cpp
parent95d3dfef904b3a90b64c8b28f93b3f4c04701048 (diff)
downloadqxmpp-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.cpp51
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;
}