From a1abbd9e05c80584d831b1d12c27c5f7d731cece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 28 May 2016 19:54:17 +0200 Subject: NOISSUE refactor *Download into more, smaller pieces * Download is now Download. * Download uses Sink subclasses to process various events. * Validators can be used to further customize the Sink behaviour. --- api/logic/trans/TranslationDownloader.cpp | 12 +++++------- api/logic/trans/TranslationDownloader.h | 8 +++++--- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'api/logic/trans') diff --git a/api/logic/trans/TranslationDownloader.cpp b/api/logic/trans/TranslationDownloader.cpp index ee5c1fd2..61e24c9a 100644 --- a/api/logic/trans/TranslationDownloader.cpp +++ b/api/logic/trans/TranslationDownloader.cpp @@ -1,6 +1,6 @@ #include "TranslationDownloader.h" #include "net/NetJob.h" -#include "net/CacheDownload.h" +#include "net/Download.h" #include "net/URLConstants.h" #include "Env.h" #include @@ -12,7 +12,7 @@ void TranslationDownloader::downloadTranslations() { qDebug() << "Downloading Translations Index..."; m_index_job.reset(new NetJob("Translations Index")); - m_index_task = ByteArrayDownload::make(QUrl("http://files.multimc.org/translations/index")); + m_index_task = Net::Download::makeByteArray(QUrl("http://files.multimc.org/translations/index"), &m_data); m_index_job->addNetAction(m_index_task); connect(m_index_job.get(), &NetJob::failed, this, &TranslationDownloader::indexFailed); connect(m_index_job.get(), &NetJob::succeeded, this, &TranslationDownloader::indexRecieved); @@ -22,17 +22,15 @@ void TranslationDownloader::indexRecieved() { qDebug() << "Got translations index!"; m_dl_job.reset(new NetJob("Translations")); - QList lines = m_index_task->m_data.split('\n'); + QList lines = m_data.split('\n'); + m_data.clear(); for (const auto line : lines) { if (!line.isEmpty()) { MetaEntryPtr entry = ENV.metacache()->resolveEntry("translations", "mmc_" + line); entry->setStale(true); - CacheDownloadPtr dl = CacheDownload::make( - QUrl(URLConstants::TRANSLATIONS_BASE_URL + line), - entry); - m_dl_job->addNetAction(dl); + m_dl_job->addNetAction(Net::Download::makeCached(QUrl(URLConstants::TRANSLATIONS_BASE_URL + line), entry)); } } connect(m_dl_job.get(), &NetJob::succeeded, this, &TranslationDownloader::dlGood); diff --git a/api/logic/trans/TranslationDownloader.h b/api/logic/trans/TranslationDownloader.h index e7893805..ad3a648d 100644 --- a/api/logic/trans/TranslationDownloader.h +++ b/api/logic/trans/TranslationDownloader.h @@ -6,8 +6,9 @@ #include #include #include "multimc_logic_export.h" - -class ByteArrayDownload; +namespace Net{ +class Download; +} class NetJob; class MULTIMC_LOGIC_EXPORT TranslationDownloader : public QObject @@ -26,7 +27,8 @@ private slots: void dlGood(); private: - std::shared_ptr m_index_task; + std::shared_ptr m_index_task; NetJobPtr m_dl_job; NetJobPtr m_index_job; + QByteArray m_data; }; -- cgit v1.2.3