diff options
Diffstat (limited to 'lib/csapi/definitions/user_identifier.h')
-rw-r--r-- | lib/csapi/definitions/user_identifier.h | 40 |
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 |