aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/capabilities.cpp
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2020-06-07 19:46:40 +0200
committerKitsune Ral <Kitsune-Ral@users.sf.net>2020-06-07 19:46:40 +0200
commit32729d9a7519cd2c4cddb0174b8329c6fd4a4a83 (patch)
tree9a966d7dc0bf628f610d5de1ad64c8d29b6b26f8 /lib/csapi/capabilities.cpp
parenta0430b1fb722a77ad7cbd28f181727d46d92b3a2 (diff)
downloadlibquotient-32729d9a7519cd2c4cddb0174b8329c6fd4a4a83.tar.gz
libquotient-32729d9a7519cd2c4cddb0174b8329c6fd4a4a83.zip
Update generated files according to gtad/* changes
Diffstat (limited to 'lib/csapi/capabilities.cpp')
-rw-r--r--lib/csapi/capabilities.cpp68
1 files changed, 4 insertions, 64 deletions
diff --git a/lib/csapi/capabilities.cpp b/lib/csapi/capabilities.cpp
index 8c7ed141..33a53cad 100644
--- a/lib/csapi/capabilities.cpp
+++ b/lib/csapi/capabilities.cpp
@@ -4,80 +4,20 @@
#include "capabilities.h"
-#include "converters.h"
-
#include <QtCore/QStringBuilder>
using namespace Quotient;
-static const auto basePath = QStringLiteral("/_matrix/client/r0");
-
-// Converters
-namespace Quotient {
-
-template <>
-struct JsonObjectConverter<GetCapabilitiesJob::ChangePasswordCapability> {
- static void fillFrom(const QJsonObject& jo,
- GetCapabilitiesJob::ChangePasswordCapability& result)
- {
- fromJson(jo.value("enabled"_ls), result.enabled);
- }
-};
-
-template <>
-struct JsonObjectConverter<GetCapabilitiesJob::RoomVersionsCapability> {
- static void fillFrom(const QJsonObject& jo,
- GetCapabilitiesJob::RoomVersionsCapability& result)
- {
- fromJson(jo.value("default"_ls), result.defaultVersion);
- fromJson(jo.value("available"_ls), result.available);
- }
-};
-
-template <>
-struct JsonObjectConverter<GetCapabilitiesJob::Capabilities> {
- static void fillFrom(QJsonObject jo,
- GetCapabilitiesJob::Capabilities& result)
- {
- fromJson(jo.take("m.change_password"_ls), result.changePassword);
- fromJson(jo.take("m.room_versions"_ls), result.roomVersions);
- fromJson(jo, result.additionalProperties);
- }
-};
-
-} // namespace Quotient
-
-class GetCapabilitiesJob::Private {
-public:
- Capabilities capabilities;
-};
-
QUrl GetCapabilitiesJob::makeRequestUrl(QUrl baseUrl)
{
return BaseJob::makeRequestUrl(std::move(baseUrl),
- basePath % "/capabilities");
+ QStringLiteral("/_matrix/client/r0")
+ % "/capabilities");
}
GetCapabilitiesJob::GetCapabilitiesJob()
: BaseJob(HttpVerb::Get, QStringLiteral("GetCapabilitiesJob"),
- basePath % "/capabilities")
- , d(new Private)
-{}
-
-GetCapabilitiesJob::~GetCapabilitiesJob() = default;
-
-const GetCapabilitiesJob::Capabilities& GetCapabilitiesJob::capabilities() const
+ QStringLiteral("/_matrix/client/r0") % "/capabilities")
{
- return d->capabilities;
-}
-
-BaseJob::Status GetCapabilitiesJob::parseJson(const QJsonDocument& data)
-{
- auto json = data.object();
- if (!json.contains("capabilities"_ls))
- return { IncorrectResponse,
- "The key 'capabilities' not found in the response" };
- fromJson(json.value("capabilities"_ls), d->capabilities);
-
- return Success;
+ addExpectedKey("capabilities");
}