/****************************************************************************** * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN */ #include "login.h" #include "converters.h" #include using namespace QMatrixClient; static const auto basePath = QStringLiteral("/_matrix/client/r0"); namespace QMatrixClient { // Converters template <> struct FromJsonObject { GetLoginFlowsJob::LoginFlow operator()(const QJsonObject& jo) const { GetLoginFlowsJob::LoginFlow result; result.type = fromJson(jo.value("type"_ls)); return result; } }; } // namespace QMatrixClient class GetLoginFlowsJob::Private { public: QVector flows; }; QUrl GetLoginFlowsJob::makeRequestUrl(QUrl baseUrl) { return BaseJob::makeRequestUrl(std::move(baseUrl), basePath % "/login"); } static const auto GetLoginFlowsJobName = QStringLiteral("GetLoginFlowsJob"); GetLoginFlowsJob::GetLoginFlowsJob() : BaseJob(HttpVerb::Get, GetLoginFlowsJobName, basePath % "/login", false) , d(new Private) { } GetLoginFlowsJob::~GetLoginFlowsJob() = default; const QVector& GetLoginFlowsJob::flows() const { return d->flows; } BaseJob::Status GetLoginFlowsJob::parseJson(const QJsonDocument& data) { auto json = data.object(); d->flows = fromJson>(json.value("flows"_ls)); return Success; } class LoginJob::Private { public: QString userId; QString accessToken; QString homeServer; QString deviceId; }; static const auto LoginJobName = QStringLiteral("LoginJob"); LoginJob::LoginJob(const QString& type, const Omittable& identifier, const QString& password, const QString& token, const QString& deviceId, const QString& initialDeviceDisplayName, const QString& user, const QString& medium, const QString& address) : BaseJob(HttpVerb::Post, LoginJobName, basePath % "/login", false) , d(new Private) { QJsonObject _data; addParam<>(_data, QStringLiteral("type"), type); addParam(_data, QStringLiteral("identifier"), identifier); addParam(_data, QStringLiteral("password"), password); addParam(_data, QStringLiteral("token"), token); addParam(_data, QStringLiteral("device_id"), deviceId); addParam(_data, QStringLiteral("initial_device_display_name"), initialDeviceDisplayName); addParam(_data, QStringLiteral("user"), user); addParam(_data, QStringLiteral("medium"), medium); addParam(_data, QStringLiteral("address"), address); setRequestData(_data); } LoginJob::~LoginJob() = default; const QString& LoginJob::userId() const { return d->userId; } const QString& LoginJob::accessToken() const { return d->accessToken; } const QString& LoginJob::homeServer() const { return d->homeServer; } const QString& LoginJob::deviceId() const { return d->deviceId; } BaseJob::Status LoginJob::parseJson(const QJsonDocument& data) { auto json = data.object(); d->userId = fromJson(json.value("user_id"_ls)); d->accessToken = fromJson(json.value("access_token"_ls)); d->homeServer = fromJson(json.value("home_server"_ls)); d->deviceId = fromJson(json.value("device_id"_ls)); return Success; }