/***************************************************************************
- * 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 *
#include "transfer.h"
-INIT_SYNCABLE_OBJECT(Transfer)
+#include <utility>
+
Transfer::Transfer(const QUuid &uuid, QObject *parent)
: SyncableObject(parent),
_status(Status::New),
init();
}
-Transfer::Transfer(Direction direction, const QString &nick, const QString &fileName, const QHostAddress &address, quint16 port, quint64 fileSize, QObject *parent)
+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(fileName),
+ _fileName(std::move(fileName)),
_address(address),
_port(port),
_fileSize(fileSize),
- _nick(nick),
+ _nick(std::move(nick)),
_uuid(QUuid::createUuid())
{
init();
_status = status;
SYNC(ARG(status));
emit statusChanged(status);
+ if (status == Status::Completed || status == Status::Failed) {
+ cleanUp();
+ }
}
}
qWarning() << Q_FUNC_INFO << errorString;
emit error(errorString);
setStatus(Status::Failed);
- cleanUp();
}