/***************************************************************************
- * Copyright (C) 2005-2015 by the Quassel Project *
+ * Copyright (C) 2005-2019 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef CORETRANSFER_H
-#define CORETRANSFER_H
+#pragma once
#include <QPointer>
-#include "transfer.h"
#include "peer.h"
+#include "transfer.h"
class QTcpSocket;
class CoreTransfer : public Transfer
{
Q_OBJECT
- SYNCABLE_OBJECT
public:
- CoreTransfer(Direction direction, const QString &nick, const QString &fileName, const QHostAddress &address, quint16 port, quint64 size = 0, QObject *parent = 0);
+ CoreTransfer(Direction direction,
+ const QString& nick,
+ const QString& fileName,
+ const QHostAddress& address,
+ quint16 port,
+ quint64 size = 0,
+ QObject* parent = nullptr);
+
+ quint64 transferred() const override;
public slots:
void start();
// called through sync calls
- void requestAccepted(PeerPtr peer);
- void requestRejected(PeerPtr peer);
+ void requestAccepted(PeerPtr peer) override;
+ void requestRejected(PeerPtr peer) override;
private slots:
void startReceiving();
private:
void setupConnectionForReceive();
- bool relayData(const QByteArray &data, bool requireChunkSize);
- virtual void cleanUp();
+ bool relayData(const QByteArray& data, bool requireChunkSize);
+ void cleanUp() override;
QPointer<Peer> _peer;
- QTcpSocket *_socket;
+ QTcpSocket* _socket;
quint64 _pos;
QByteArray _buffer;
bool _reading;
};
-
-#endif