aboutsummaryrefslogtreecommitdiff
path: root/lib/application-service/definitions/location.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/application-service/definitions/location.h')
-rw-r--r--lib/application-service/definitions/location.h18
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