aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/definitions/user_identifier.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csapi/definitions/user_identifier.h')
-rw-r--r--lib/csapi/definitions/user_identifier.h40
1 files changed, 22 insertions, 18 deletions
diff --git a/lib/csapi/definitions/user_identifier.h b/lib/csapi/definitions/user_identifier.h
index 42614436..cb585a6a 100644
--- a/lib/csapi/definitions/user_identifier.h
+++ b/lib/csapi/definitions/user_identifier.h
@@ -6,26 +6,30 @@
#include "converters.h"
-#include <QtCore/QVariant>
-
-namespace QMatrixClient
-{
- // Data structures
+namespace Quotient {
+/// Identification information for a user
+struct UserIdentifier {
+ /// The type of identification. See [Identifier
+ /// types](/client-server-api/#identifier-types) for supported values and
+ /// additional property descriptions.
+ QString type;
/// Identification information for a user
- struct UserIdentifier
- {
- /// The type of identification. See `Identifier types`_ for supported values and additional property descriptions.
- QString type;
- /// Identification information for a user
- QVariantHash additionalProperties;
- };
+ QVariantHash additionalProperties;
+};
- QJsonObject toJson(const UserIdentifier& pod);
-
- template <> struct FromJsonObject<UserIdentifier>
+template <>
+struct JsonObjectConverter<UserIdentifier> {
+ static void dumpTo(QJsonObject& jo, const UserIdentifier& pod)
+ {
+ fillJson(jo, pod.additionalProperties);
+ addParam<>(jo, QStringLiteral("type"), pod.type);
+ }
+ static void fillFrom(QJsonObject jo, UserIdentifier& pod)
{
- UserIdentifier operator()(QJsonObject jo) const;
- };
+ fromJson(jo.take("type"_ls), pod.type);
+ fromJson(jo, pod.additionalProperties);
+ }
+};
-} // namespace QMatrixClient
+} // namespace Quotient