diff options
Diffstat (limited to 'lib/csapi/versions.cpp')
-rw-r--r-- | lib/csapi/versions.cpp | 48 |
1 files changed, 6 insertions, 42 deletions
diff --git a/lib/csapi/versions.cpp b/lib/csapi/versions.cpp index 6ee6725d..9003e27f 100644 --- a/lib/csapi/versions.cpp +++ b/lib/csapi/versions.cpp @@ -4,56 +4,20 @@ #include "versions.h" -#include "converters.h" - #include <QtCore/QStringBuilder> -using namespace QMatrixClient; - -static const auto basePath = QStringLiteral("/_matrix/client"); - -class GetVersionsJob::Private -{ - public: - QStringList versions; - QHash<QString, bool> unstableFeatures; -}; +using namespace Quotient; QUrl GetVersionsJob::makeRequestUrl(QUrl baseUrl) { return BaseJob::makeRequestUrl(std::move(baseUrl), - basePath % "/versions"); + QStringLiteral("/_matrix/client") + % "/versions"); } -static const auto GetVersionsJobName = QStringLiteral("GetVersionsJob"); - GetVersionsJob::GetVersionsJob() - : BaseJob(HttpVerb::Get, GetVersionsJobName, - basePath % "/versions", false) - , d(new Private) -{ -} - -GetVersionsJob::~GetVersionsJob() = default; - -const QStringList& GetVersionsJob::versions() const -{ - return d->versions; -} - -const QHash<QString, bool>& GetVersionsJob::unstableFeatures() const + : BaseJob(HttpVerb::Get, QStringLiteral("GetVersionsJob"), + QStringLiteral("/_matrix/client") % "/versions", false) { - return d->unstableFeatures; + addExpectedKey("versions"); } - -BaseJob::Status GetVersionsJob::parseJson(const QJsonDocument& data) -{ - auto json = data.object(); - if (!json.contains("versions"_ls)) - return { JsonParseError, - "The key 'versions' not found in the response" }; - fromJson(json.value("versions"_ls), d->versions); - fromJson(json.value("unstable_features"_ls), d->unstableFeatures); - return Success; -} - |