diff options
author | Petr Mrázek <peterix@gmail.com> | 2018-07-15 14:51:05 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2018-07-15 14:51:05 +0200 |
commit | bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9 (patch) | |
tree | e6497e304b7b9368367565fbc7c06efab1124b1c /api/logic/status | |
parent | 03280cc62e75f8073f8d3d9e9e3952acf21fa77d (diff) | |
download | MultiMC-bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9.tar MultiMC-bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9.tar.gz MultiMC-bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9.tar.lz MultiMC-bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9.tar.xz MultiMC-bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9.zip |
NOISSUE tabs -> spaces
Diffstat (limited to 'api/logic/status')
-rw-r--r-- | api/logic/status/StatusChecker.cpp | 166 | ||||
-rw-r--r-- | api/logic/status/StatusChecker.h | 36 |
2 files changed, 101 insertions, 101 deletions
diff --git a/api/logic/status/StatusChecker.cpp b/api/logic/status/StatusChecker.cpp index bff9fda9..ffadcc74 100644 --- a/api/logic/status/StatusChecker.cpp +++ b/api/logic/status/StatusChecker.cpp @@ -28,121 +28,121 @@ StatusChecker::StatusChecker() void StatusChecker::timerEvent(QTimerEvent *e) { - QObject::timerEvent(e); - reloadStatus(); + QObject::timerEvent(e); + reloadStatus(); } void StatusChecker::reloadStatus() { - if (isLoadingStatus()) - { - // qDebug() << "Ignored request to reload status. Currently reloading already."; - return; - } - - // qDebug() << "Reloading status."; - - NetJob* job = new NetJob("Status JSON"); - job->addNetAction(Net::Download::makeByteArray(URLConstants::MOJANG_STATUS_URL, &dataSink)); - QObject::connect(job, &NetJob::succeeded, this, &StatusChecker::statusDownloadFinished); - QObject::connect(job, &NetJob::failed, this, &StatusChecker::statusDownloadFailed); - m_statusNetJob.reset(job); - emit statusLoading(true); - job->start(); + if (isLoadingStatus()) + { + // qDebug() << "Ignored request to reload status. Currently reloading already."; + return; + } + + // qDebug() << "Reloading status."; + + NetJob* job = new NetJob("Status JSON"); + job->addNetAction(Net::Download::makeByteArray(URLConstants::MOJANG_STATUS_URL, &dataSink)); + QObject::connect(job, &NetJob::succeeded, this, &StatusChecker::statusDownloadFinished); + QObject::connect(job, &NetJob::failed, this, &StatusChecker::statusDownloadFailed); + m_statusNetJob.reset(job); + emit statusLoading(true); + job->start(); } void StatusChecker::statusDownloadFinished() { - qDebug() << "Finished loading status JSON."; - m_statusEntries.clear(); - m_statusNetJob.reset(); - - QJsonParseError jsonError; - QJsonDocument jsonDoc = QJsonDocument::fromJson(dataSink, &jsonError); - - if (jsonError.error != QJsonParseError::NoError) - { - fail("Error parsing status JSON:" + jsonError.errorString()); - return; - } - - if (!jsonDoc.isArray()) - { - fail("Error parsing status JSON: JSON root is not an array"); - return; - } - - QJsonArray root = jsonDoc.array(); - - for(auto status = root.begin(); status != root.end(); ++status) - { - QVariantMap map = (*status).toObject().toVariantMap(); - - for (QVariantMap::const_iterator iter = map.begin(); iter != map.end(); ++iter) - { - QString key = iter.key(); - QVariant value = iter.value(); - - if(value.type() == QVariant::Type::String) - { - m_statusEntries.insert(key, value.toString()); - //qDebug() << "Status JSON object: " << key << m_statusEntries[key]; - } - else - { - fail("Malformed status JSON: expected status type to be a string."); - return; - } - } - } - - succeed(); + qDebug() << "Finished loading status JSON."; + m_statusEntries.clear(); + m_statusNetJob.reset(); + + QJsonParseError jsonError; + QJsonDocument jsonDoc = QJsonDocument::fromJson(dataSink, &jsonError); + + if (jsonError.error != QJsonParseError::NoError) + { + fail("Error parsing status JSON:" + jsonError.errorString()); + return; + } + + if (!jsonDoc.isArray()) + { + fail("Error parsing status JSON: JSON root is not an array"); + return; + } + + QJsonArray root = jsonDoc.array(); + + for(auto status = root.begin(); status != root.end(); ++status) + { + QVariantMap map = (*status).toObject().toVariantMap(); + + for (QVariantMap::const_iterator iter = map.begin(); iter != map.end(); ++iter) + { + QString key = iter.key(); + QVariant value = iter.value(); + + if(value.type() == QVariant::Type::String) + { + m_statusEntries.insert(key, value.toString()); + //qDebug() << "Status JSON object: " << key << m_statusEntries[key]; + } + else + { + fail("Malformed status JSON: expected status type to be a string."); + return; + } + } + } + + succeed(); } void StatusChecker::statusDownloadFailed(QString reason) { - fail(tr("Failed to load status JSON:\n%1").arg(reason)); + fail(tr("Failed to load status JSON:\n%1").arg(reason)); } QMap<QString, QString> StatusChecker::getStatusEntries() const { - return m_statusEntries; + return m_statusEntries; } bool StatusChecker::isLoadingStatus() const { - return m_statusNetJob.get() != nullptr; + return m_statusNetJob.get() != nullptr; } QString StatusChecker::getLastLoadErrorMsg() const { - return m_lastLoadError; + return m_lastLoadError; } void StatusChecker::succeed() { - if(m_prevEntries != m_statusEntries) - { - emit statusChanged(m_statusEntries); - m_prevEntries = m_statusEntries; - } - m_lastLoadError = ""; - qDebug() << "Status loading succeeded."; - m_statusNetJob.reset(); - emit statusLoading(false); + if(m_prevEntries != m_statusEntries) + { + emit statusChanged(m_statusEntries); + m_prevEntries = m_statusEntries; + } + m_lastLoadError = ""; + qDebug() << "Status loading succeeded."; + m_statusNetJob.reset(); + emit statusLoading(false); } void StatusChecker::fail(const QString& errorMsg) { - if(m_prevEntries != m_statusEntries) - { - emit statusChanged(m_statusEntries); - m_prevEntries = m_statusEntries; - } - m_lastLoadError = errorMsg; - qDebug() << "Failed to load status:" << errorMsg; - m_statusNetJob.reset(); - emit statusLoading(false); + if(m_prevEntries != m_statusEntries) + { + emit statusChanged(m_statusEntries); + m_prevEntries = m_statusEntries; + } + m_lastLoadError = errorMsg; + qDebug() << "Failed to load status:" << errorMsg; + m_statusNetJob.reset(); + emit statusLoading(false); } diff --git a/api/logic/status/StatusChecker.h b/api/logic/status/StatusChecker.h index f19aba9a..51a86910 100644 --- a/api/logic/status/StatusChecker.h +++ b/api/logic/status/StatusChecker.h @@ -25,36 +25,36 @@ class MULTIMC_LOGIC_EXPORT StatusChecker : public QObject { - Q_OBJECT + Q_OBJECT public: /* con/des */ - StatusChecker(); + StatusChecker(); public: /* methods */ - QString getLastLoadErrorMsg() const; - bool isLoadingStatus() const; - QMap<QString, QString> getStatusEntries() const; + QString getLastLoadErrorMsg() const; + bool isLoadingStatus() const; + QMap<QString, QString> getStatusEntries() const; signals: - void statusLoading(bool loading); - void statusChanged(QMap<QString, QString> newStatus); + void statusLoading(bool loading); + void statusChanged(QMap<QString, QString> newStatus); public slots: - void reloadStatus(); + void reloadStatus(); protected: /* methods */ - virtual void timerEvent(QTimerEvent *); + virtual void timerEvent(QTimerEvent *); protected slots: - void statusDownloadFinished(); - void statusDownloadFailed(QString reason); - void succeed(); - void fail(const QString& errorMsg); + void statusDownloadFinished(); + void statusDownloadFailed(QString reason); + void succeed(); + void fail(const QString& errorMsg); protected: /* data */ - QMap<QString, QString> m_prevEntries; - QMap<QString, QString> m_statusEntries; - NetJobPtr m_statusNetJob; - QString m_lastLoadError; - QByteArray dataSink; + QMap<QString, QString> m_prevEntries; + QMap<QString, QString> m_statusEntries; + NetJobPtr m_statusNetJob; + QString m_lastLoadError; + QByteArray dataSink; }; |