diff options
Diffstat (limited to 'lib/csapi/definitions/user_identifier.h')
-rw-r--r-- | lib/csapi/definitions/user_identifier.h | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/lib/csapi/definitions/user_identifier.h b/lib/csapi/definitions/user_identifier.h index cbb1550f..dadf6f97 100644 --- a/lib/csapi/definitions/user_identifier.h +++ b/lib/csapi/definitions/user_identifier.h @@ -6,24 +6,29 @@ #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`_ for supported + /// values and additional property descriptions. + QString type; /// Identification information for a user - struct UserIdentifier + QVariantHash additionalProperties; +}; + +template <> +struct JsonObjectConverter<UserIdentifier> { + static void dumpTo(QJsonObject& jo, const UserIdentifier& pod) { - /// The type of identification. See `Identifier types`_ for supported values and additional property descriptions. - QString type; - /// Identification information for a user - QVariantHash additionalProperties; - }; - template <> struct JsonObjectConverter<UserIdentifier> + fillJson(jo, pod.additionalProperties); + addParam<>(jo, QStringLiteral("type"), pod.type); + } + static void fillFrom(QJsonObject jo, UserIdentifier& pod) { - static void dumpTo(QJsonObject& jo, const UserIdentifier& pod); - static void fillFrom(QJsonObject jo, UserIdentifier& pod); - }; + fromJson(jo.take("type"_ls), pod.type); + fromJson(jo, pod.additionalProperties); + } +}; -} // namespace QMatrixClient +} // namespace Quotient |