diff options
author | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2018-09-24 19:20:10 +0900 |
---|---|---|
committer | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2018-09-29 21:59:39 +0900 |
commit | 4244cee8d5e0f760cccd2b45ad587670573ef03c (patch) | |
tree | 4806108543f1402247e6cce1dba987a98d6fe83b /lib/csapi/pusher.cpp | |
parent | f5c2e47fa1ab84fdaffe03c30ba973d7dea5ac05 (diff) | |
download | libquotient-4244cee8d5e0f760cccd2b45ad587670573ef03c.tar.gz libquotient-4244cee8d5e0f760cccd2b45ad587670573ef03c.zip |
Prepare for CS API 0.4.0
This commit consists of two parts: upgrading the API infrastructure and trivial but sweeping update to the generated files.
1. The API infrastructure (converters.h, *.mustache and some other non-generated files) now can deal with top-level JSON arrays and response inlining; better supports property maps; and gets some formatting fixes in generated code.
2. Generated files now use QJsonValue instead of QJsonObject as a default type
to (un)marshall Matrix API data structures, to match the change in the infrastructure above
This commit is still using the old Matrix API definitions, before CS API 0.4.0. Getting to CS API 0.4.0 will come next.
Diffstat (limited to 'lib/csapi/pusher.cpp')
-rw-r--r-- | lib/csapi/pusher.cpp | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/lib/csapi/pusher.cpp b/lib/csapi/pusher.cpp index 531970b3..d20db88a 100644 --- a/lib/csapi/pusher.cpp +++ b/lib/csapi/pusher.cpp @@ -16,43 +16,41 @@ namespace QMatrixClient { // Converters - template <> struct FromJson<GetPushersJob::PusherData> + template <> struct FromJsonObject<GetPushersJob::PusherData> { - GetPushersJob::PusherData operator()(const QJsonValue& jv) + GetPushersJob::PusherData operator()(const QJsonObject& jo) const { - const auto& _json = jv.toObject(); GetPushersJob::PusherData result; result.url = - fromJson<QString>(_json.value("url"_ls)); + fromJson<QString>(jo.value("url"_ls)); result.format = - fromJson<QString>(_json.value("format"_ls)); + fromJson<QString>(jo.value("format"_ls)); return result; } }; - template <> struct FromJson<GetPushersJob::Pusher> + template <> struct FromJsonObject<GetPushersJob::Pusher> { - GetPushersJob::Pusher operator()(const QJsonValue& jv) + GetPushersJob::Pusher operator()(const QJsonObject& jo) const { - const auto& _json = jv.toObject(); GetPushersJob::Pusher result; result.pushkey = - fromJson<QString>(_json.value("pushkey"_ls)); + fromJson<QString>(jo.value("pushkey"_ls)); result.kind = - fromJson<QString>(_json.value("kind"_ls)); + fromJson<QString>(jo.value("kind"_ls)); result.appId = - fromJson<QString>(_json.value("app_id"_ls)); + fromJson<QString>(jo.value("app_id"_ls)); result.appDisplayName = - fromJson<QString>(_json.value("app_display_name"_ls)); + fromJson<QString>(jo.value("app_display_name"_ls)); result.deviceDisplayName = - fromJson<QString>(_json.value("device_display_name"_ls)); + fromJson<QString>(jo.value("device_display_name"_ls)); result.profileTag = - fromJson<QString>(_json.value("profile_tag"_ls)); + fromJson<QString>(jo.value("profile_tag"_ls)); result.lang = - fromJson<QString>(_json.value("lang"_ls)); + fromJson<QString>(jo.value("lang"_ls)); result.data = - fromJson<GetPushersJob::PusherData>(_json.value("data"_ls)); + fromJson<GetPushersJob::PusherData>(jo.value("data"_ls)); return result; } @@ -100,10 +98,10 @@ namespace QMatrixClient QJsonObject toJson(const PostPusherJob::PusherData& pod) { - QJsonObject _json; - addParam<IfNotEmpty>(_json, QStringLiteral("url"), pod.url); - addParam<IfNotEmpty>(_json, QStringLiteral("format"), pod.format); - return _json; + QJsonObject jo; + addParam<IfNotEmpty>(jo, QStringLiteral("url"), pod.url); + addParam<IfNotEmpty>(jo, QStringLiteral("format"), pod.format); + return jo; } } // namespace QMatrixClient |