diff options
Diffstat (limited to 'lib/application-service/definitions/location.h')
-rw-r--r-- | lib/application-service/definitions/location.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/lib/application-service/definitions/location.h b/lib/application-service/definitions/location.h index e4c2d096..6801c99f 100644 --- a/lib/application-service/definitions/location.h +++ b/lib/application-service/definitions/location.h @@ -6,12 +6,8 @@ #include "converters.h" -#include <QtCore/QJsonObject> - namespace Quotient { -// Data structures - struct ThirdPartyLocation { /// An alias for a matrix room. QString alias; @@ -25,8 +21,18 @@ struct ThirdPartyLocation { template <> struct JsonObjectConverter<ThirdPartyLocation> { - static void dumpTo(QJsonObject& jo, const ThirdPartyLocation& pod); - static void fillFrom(const QJsonObject& jo, ThirdPartyLocation& pod); + static void dumpTo(QJsonObject& jo, const ThirdPartyLocation& pod) + { + addParam<>(jo, QStringLiteral("alias"), pod.alias); + addParam<>(jo, QStringLiteral("protocol"), pod.protocol); + addParam<>(jo, QStringLiteral("fields"), pod.fields); + } + static void fillFrom(const QJsonObject& jo, ThirdPartyLocation& pod) + { + fromJson(jo.value("alias"_ls), pod.alias); + fromJson(jo.value("protocol"_ls), pod.protocol); + fromJson(jo.value("fields"_ls), pod.fields); + } }; } // namespace Quotient |