/***************************************************************************
- * Copyright (C) 2005-2015 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "transfer.h"
-INIT_SYNCABLE_OBJECT(Transfer)
-Transfer::Transfer(const QUuid &uuid, QObject *parent)
- : SyncableObject(parent),
- _status(Status::New),
- _direction(Direction::Receive),
- _port(0),
- _fileSize(0),
- _uuid(uuid)
+#include <utility>
+
+Transfer::Transfer(const QUuid& uuid, QObject* parent)
+ : SyncableObject(parent)
+ , _status(Status::New)
+ , _direction(Direction::Receive)
+ , _port(0)
+ , _fileSize(0)
+ , _uuid(uuid)
{
init();
}
-Transfer::Transfer(Direction direction, const QString &nick, const QString &fileName, const QHostAddress &address, quint16 port, quint64 fileSize, QObject *parent)
- : SyncableObject(parent),
- _status(Status::New),
- _direction(direction),
- _fileName(fileName),
- _address(address),
- _port(port),
- _fileSize(fileSize),
- _nick(nick),
- _uuid(QUuid::createUuid())
+Transfer::Transfer(
+ Direction direction, QString nick, QString fileName, const QHostAddress& address, quint16 port, quint64 fileSize, QObject* parent)
+ : SyncableObject(parent)
+ , _status(Status::New)
+ , _direction(direction)
+ , _fileName(std::move(fileName))
+ , _address(address)
+ , _port(port)
+ , _fileSize(fileSize)
+ , _nick(std::move(nick))
+ , _uuid(QUuid::createUuid())
{
init();
}
-
void Transfer::init()
{
static auto regTypes = []() -> bool {
}();
Q_UNUSED(regTypes);
- renameObject(QString("Transfer/%1").arg(_uuid.toString()));
+ setObjectName(QString("Transfer/%1").arg(_uuid.toString()));
setAllowClientUpdates(true);
}
-
QUuid Transfer::uuid() const
{
return _uuid;
}
-
Transfer::Status Transfer::status() const
{
return _status;
}
-
void Transfer::setStatus(Transfer::Status status)
{
if (_status != status) {
_status = status;
SYNC(ARG(status));
emit statusChanged(status);
+ if (status == Status::Completed || status == Status::Failed) {
+ cleanUp();
+ }
}
}
-
QString Transfer::prettyStatus() const
{
- switch(status()) {
- case Status::New:
- return tr("New");
- case Status::Pending:
- return tr("Pending");
- case Status::Connecting:
- return tr("Connecting");
- case Status::Transferring:
- return tr("Transferring");
- case Status::Paused:
- return tr("Paused");
- case Status::Completed:
- return tr("Completed");
- case Status::Failed:
- return tr("Failed");
- case Status::Rejected:
- return tr("Rejected");
+ switch (status()) {
+ case Status::New:
+ return tr("New");
+ case Status::Pending:
+ return tr("Pending");
+ case Status::Connecting:
+ return tr("Connecting");
+ case Status::Transferring:
+ return tr("Transferring");
+ case Status::Paused:
+ return tr("Paused");
+ case Status::Completed:
+ return tr("Completed");
+ case Status::Failed:
+ return tr("Failed");
+ case Status::Rejected:
+ return tr("Rejected");
}
return QString();
}
-
-
Transfer::Direction Transfer::direction() const
{
return _direction;
}
-
void Transfer::setDirection(Transfer::Direction direction)
{
if (_direction != direction) {
}
}
-
QHostAddress Transfer::address() const
{
return _address;
}
-
-void Transfer::setAddress(const QHostAddress &address)
+void Transfer::setAddress(const QHostAddress& address)
{
if (_address != address) {
_address = address;
}
}
-
quint16 Transfer::port() const
{
return _port;
}
-
void Transfer::setPort(quint16 port)
{
if (_port != port) {
}
}
-
QString Transfer::fileName() const
{
return _fileName;
}
-
-void Transfer::setFileName(const QString &fileName)
+void Transfer::setFileName(const QString& fileName)
{
if (_fileName != fileName) {
_fileName = fileName;
}
}
-
quint64 Transfer::fileSize() const
{
return _fileSize;
}
-
void Transfer::setFileSize(quint64 fileSize)
{
if (_fileSize != fileSize) {
}
}
-
QString Transfer::nick() const
{
return _nick;
}
-
-void Transfer::setNick(const QString &nick)
+void Transfer::setNick(const QString& nick)
{
if (_nick != nick) {
_nick = nick;
}
}
-
-void Transfer::setError(const QString &errorString)
+void Transfer::setError(const QString& errorString)
{
qWarning() << Q_FUNC_INFO << errorString;
emit error(errorString);
setStatus(Status::Failed);
- cleanUp();
}
-
-QDataStream &operator<<(QDataStream &out, Transfer::Status state) {
+QDataStream& operator<<(QDataStream& out, Transfer::Status state)
+{
out << static_cast<qint8>(state);
return out;
}
-QDataStream &operator>>(QDataStream &in, Transfer::Status &state) {
+QDataStream& operator>>(QDataStream& in, Transfer::Status& state)
+{
qint8 s;
in >> s;
state = static_cast<Transfer::Status>(s);
return in;
}
-QDataStream &operator<<(QDataStream &out, Transfer::Direction direction) {
+QDataStream& operator<<(QDataStream& out, Transfer::Direction direction)
+{
out << static_cast<qint8>(direction);
return out;
}
-QDataStream &operator>>(QDataStream &in, Transfer::Direction &direction) {
+QDataStream& operator>>(QDataStream& in, Transfer::Direction& direction)
+{
qint8 d;
in >> d;
direction = static_cast<Transfer::Direction>(d);