diff options
Diffstat (limited to 'lib/csapi/definitions')
-rw-r--r-- | lib/csapi/definitions/auth_data.cpp | 29 | ||||
-rw-r--r-- | lib/csapi/definitions/auth_data.h | 33 |
2 files changed, 62 insertions, 0 deletions
diff --git a/lib/csapi/definitions/auth_data.cpp b/lib/csapi/definitions/auth_data.cpp new file mode 100644 index 00000000..94e3c05c --- /dev/null +++ b/lib/csapi/definitions/auth_data.cpp @@ -0,0 +1,29 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#include "auth_data.h" + +using namespace QMatrixClient; + +QJsonObject QMatrixClient::toJson(const AuthenticationData& pod) +{ + QJsonObject _json = toJson(pod.authInfo); + addParam<>(_json, QStringLiteral("type"), pod.type); + addParam<IfNotEmpty>(_json, QStringLiteral("session"), pod.session); + return _json; +} + +AuthenticationData FromJson<AuthenticationData>::operator()(const QJsonValue& jv) +{ + auto _json = jv.toObject(); + AuthenticationData result; + result.type = + fromJson<QString>(_json.take("type"_ls)); + result.session = + fromJson<QString>(_json.take("session"_ls)); + + result.authInfo = fromJson<QHash<QString, QJsonObject>>(_json); + return result; +} + diff --git a/lib/csapi/definitions/auth_data.h b/lib/csapi/definitions/auth_data.h new file mode 100644 index 00000000..0c206e2c --- /dev/null +++ b/lib/csapi/definitions/auth_data.h @@ -0,0 +1,33 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#pragma once + + + +#include "converters.h" + +namespace QMatrixClient +{ + // Data structures + + /// Used by clients to submit authentication information to the interactive-authentication API + struct AuthenticationData + { + /// The login type that the client is attempting to complete. + QString type; + /// The value of the session key given by the homeserver. + QString session; + /// Keys dependent on the login type + QHash<QString, QJsonObject> authInfo; + }; + + QJsonObject toJson(const AuthenticationData& pod); + + template <> struct FromJson<AuthenticationData> + { + AuthenticationData operator()(const QJsonValue& jv); + }; + +} // namespace QMatrixClient |