common: Simplify SyncableObject macros and usage
[quassel.git] / src / core / coretransfer.cpp
index aced4c6..34443a0 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2015 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -27,8 +27,6 @@
 
 const qint64 chunkSize = 16 * 1024;
 
-INIT_SYNCABLE_OBJECT(CoreTransfer)
-
 CoreTransfer::CoreTransfer(Direction direction, const QString &nick, const QString &fileName, const QHostAddress &address, quint16 port, quint64 fileSize, QObject *parent)
     : Transfer(direction, nick, fileName, address, port, fileSize, parent),
     _socket(0),
@@ -39,6 +37,12 @@ CoreTransfer::CoreTransfer(Direction direction, const QString &nick, const QStri
 }
 
 
+quint64 CoreTransfer::transferred() const
+{
+    return _pos;
+}
+
+
 void CoreTransfer::cleanUp()
 {
     if (_socket) {
@@ -142,6 +146,7 @@ void CoreTransfer::onDataReceived()
     while (_socket->bytesAvailable()) {
         QByteArray data = _socket->read(chunkSize);
         _pos += data.size();
+        emit transferredChanged(transferred());
         if (!relayData(data, true))
             return;