/***************************************************************************
- * 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 *
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),
+ _socket(nullptr),
_pos(0),
_reading(false)
{
}
+quint64 CoreTransfer::transferred() const
+{
+ return _pos;
+}
+
+
void CoreTransfer::cleanUp()
{
if (_socket) {
_socket->close();
_socket->deleteLater();
- _socket = 0;
+ _socket = nullptr;
}
_buffer.clear();
while (_socket->bytesAvailable()) {
QByteArray data = _socket->read(chunkSize);
_pos += data.size();
+ emit transferredChanged(transferred());
if (!relayData(data, true))
return;