aboutsummaryrefslogtreecommitdiff
path: root/launcher/net
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/net')
-rw-r--r--launcher/net/Download.cpp21
-rw-r--r--launcher/net/NetAction.h10
-rw-r--r--launcher/net/NetJob.cpp14
3 files changed, 19 insertions, 26 deletions
diff --git a/launcher/net/Download.cpp b/launcher/net/Download.cpp
index 5b5a04db..5e5d64fa 100644
--- a/launcher/net/Download.cpp
+++ b/launcher/net/Download.cpp
@@ -72,7 +72,7 @@ void Download::executeTask()
{
if (getState() == Task::State::AbortedByUser) {
qWarning() << "Attempt to start an aborted Download:" << m_url.toString();
- emit aborted(m_index_within_job);
+ emitAborted();
return;
}
@@ -80,7 +80,7 @@ void Download::executeTask()
m_state = m_sink->init(request);
switch (m_state) {
case State::Succeeded:
- emit succeeded(m_index_within_job);
+ emit succeeded();
qDebug() << "Download cache hit " << m_url.toString();
return;
case State::Running:
@@ -88,7 +88,7 @@ void Download::executeTask()
break;
case State::Inactive:
case State::Failed:
- emit failed(m_index_within_job);
+ emitFailed();
return;
case State::AbortedByUser:
return;
@@ -102,8 +102,8 @@ void Download::executeTask()
QNetworkReply* rep = m_network->get(request);
m_reply.reset(rep);
- connect(rep, SIGNAL(downloadProgress(qint64, qint64)), SLOT(downloadProgress(qint64, qint64)));
- connect(rep, SIGNAL(finished()), SLOT(downloadFinished()));
+ connect(rep, &QNetworkReply::downloadProgress, this, &Download::downloadProgress);
+ connect(rep, &QNetworkReply::finished, this, &Download::downloadFinished);
connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(downloadError(QNetworkReply::NetworkError)));
connect(rep, &QNetworkReply::sslErrors, this, &Download::sslErrors);
connect(rep, &QNetworkReply::readyRead, this, &Download::downloadReadyRead);
@@ -112,7 +112,6 @@ void Download::executeTask()
void Download::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
{
setProgress(bytesReceived, bytesTotal);
- emit netActionProgress(m_index_within_job, bytesReceived, bytesTotal);
}
void Download::downloadError(QNetworkReply::NetworkError error)
@@ -212,19 +211,19 @@ void Download::downloadFinished()
qDebug() << "Download failed but we are allowed to proceed:" << m_url.toString();
m_sink->abort();
m_reply.reset();
- emit succeeded(m_index_within_job);
+ emit succeeded();
return;
} else if (m_state == State::Failed) {
qDebug() << "Download failed in previous step:" << m_url.toString();
m_sink->abort();
m_reply.reset();
- emit failed(m_index_within_job);
+ emitFailed();
return;
} else if (m_state == State::AbortedByUser) {
qDebug() << "Download aborted in previous step:" << m_url.toString();
m_sink->abort();
m_reply.reset();
- emit aborted(m_index_within_job);
+ emitAborted();
return;
}
@@ -241,12 +240,12 @@ void Download::downloadFinished()
qDebug() << "Download failed to finalize:" << m_url.toString();
m_sink->abort();
m_reply.reset();
- emit failed(m_index_within_job);
+ emitFailed();
return;
}
m_reply.reset();
qDebug() << "Download succeeded:" << m_url.toString();
- emit succeeded(m_index_within_job);
+ emit succeeded();
}
void Download::downloadReadyRead()
diff --git a/launcher/net/NetAction.h b/launcher/net/NetAction.h
index e15716f6..86a37ee6 100644
--- a/launcher/net/NetAction.h
+++ b/launcher/net/NetAction.h
@@ -43,7 +43,7 @@
class NetAction : public Task {
Q_OBJECT
protected:
- explicit NetAction() : Task(nullptr) {};
+ explicit NetAction() : Task() {};
public:
using Ptr = shared_qobject_ptr<NetAction>;
@@ -51,13 +51,7 @@ class NetAction : public Task {
virtual ~NetAction() = default;
QUrl url() { return m_url; }
-
- signals:
- void started(int index);
- void netActionProgress(int index, qint64 current, qint64 total);
- void succeeded(int index);
- void failed(int index);
- void aborted(int index);
+ auto index() -> int { return m_index_within_job; }
protected slots:
virtual void downloadProgress(qint64 bytesReceived, qint64 bytesTotal) = 0;
diff --git a/launcher/net/NetJob.cpp b/launcher/net/NetJob.cpp
index d08d6c4d..a9f89da4 100644
--- a/launcher/net/NetJob.cpp
+++ b/launcher/net/NetJob.cpp
@@ -45,9 +45,9 @@ auto NetJob::addNetAction(NetAction::Ptr action) -> bool
partProgress(m_parts_progress.count() - 1, action->getProgress(), action->getTotalProgress());
if (action->isRunning()) {
- connect(action.get(), &NetAction::succeeded, this, &NetJob::partSucceeded);
- connect(action.get(), &NetAction::failed, this, &NetJob::partFailed);
- connect(action.get(), &NetAction::netActionProgress, this, &NetJob::partProgress);
+ connect(action.get(), &NetAction::succeeded, [this, action]{ partSucceeded(action->index()); });
+ connect(action.get(), &NetAction::failed, [this, action](QString){ partFailed(action->index()); });
+ connect(action.get(), &NetAction::progress, [this, action](qint64 done, qint64 total) { partProgress(action->index(), done, total); });
} else {
m_todo.append(m_parts_progress.size() - 1);
}
@@ -218,10 +218,10 @@ void NetJob::startMoreParts()
auto part = m_downloads[doThis];
// connect signals :D
- connect(part.get(), &NetAction::succeeded, this, &NetJob::partSucceeded);
- connect(part.get(), &NetAction::failed, this, &NetJob::partFailed);
- connect(part.get(), &NetAction::aborted, this, &NetJob::partAborted);
- connect(part.get(), &NetAction::netActionProgress, this, &NetJob::partProgress);
+ connect(part.get(), &NetAction::succeeded, this, [this, part]{ partSucceeded(part->index()); });
+ connect(part.get(), &NetAction::failed, this, [this, part](QString){ partFailed(part->index()); });
+ connect(part.get(), &NetAction::aborted, this, [this, part]{ partAborted(part->index()); });
+ connect(part.get(), &NetAction::progress, this, [this, part](qint64 done, qint64 total) { partProgress(part->index(), done, total); });
part->startAction(m_network);
}