diff options
Diffstat (limited to 'lib/jobs/generated')
-rw-r--r-- | lib/jobs/generated/joining.cpp | 118 | ||||
-rw-r--r-- | lib/jobs/generated/joining.h | 77 |
2 files changed, 195 insertions, 0 deletions
diff --git a/lib/jobs/generated/joining.cpp b/lib/jobs/generated/joining.cpp new file mode 100644 index 00000000..705e8f83 --- /dev/null +++ b/lib/jobs/generated/joining.cpp @@ -0,0 +1,118 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#include "joining.h" + +#include <QtCore/QStringBuilder> + +using namespace QMatrixClient; + +static const auto basePath = QStringLiteral("/_matrix/client/r0"); + +namespace QMatrixClient +{ + // Converters + + QJsonObject toJson(const JoinRoomByIdJob::ThirdPartySigned& pod) + { + QJsonObject o; + o.insert("sender", toJson(pod.sender)); + o.insert("mxid", toJson(pod.mxid)); + o.insert("token", toJson(pod.token)); + o.insert("signatures", toJson(pod.signatures)); + + return o; + } +} // namespace QMatrixClient + +class JoinRoomByIdJob::Private +{ + public: + QString roomId; +}; + +JoinRoomByIdJob::JoinRoomByIdJob(const QString& roomId, const ThirdPartySigned& thirdPartySigned) + : BaseJob(HttpVerb::Post, "JoinRoomByIdJob", + basePath % "/rooms/" % roomId % "/join") + , d(new Private) +{ + QJsonObject _data; + _data.insert("third_party_signed", toJson(thirdPartySigned)); + setRequestData(_data); +} + +JoinRoomByIdJob::~JoinRoomByIdJob() = default; + +const QString& JoinRoomByIdJob::roomId() const +{ + return d->roomId; +} + +BaseJob::Status JoinRoomByIdJob::parseJson(const QJsonDocument& data) +{ + auto json = data.object(); + if (!json.contains("room_id")) + return { JsonParseError, + "The key 'room_id' not found in the response" }; + d->roomId = fromJson<QString>(json.value("room_id")); + return Success; +} + +namespace QMatrixClient +{ + // Converters + + QJsonObject toJson(const JoinRoomJob::Signed& pod) + { + QJsonObject o; + o.insert("sender", toJson(pod.sender)); + o.insert("mxid", toJson(pod.mxid)); + o.insert("token", toJson(pod.token)); + o.insert("signatures", toJson(pod.signatures)); + + return o; + } + + QJsonObject toJson(const JoinRoomJob::ThirdPartySigned& pod) + { + QJsonObject o; + o.insert("signed", toJson(pod.signedData)); + + return o; + } +} // namespace QMatrixClient + +class JoinRoomJob::Private +{ + public: + QString roomId; +}; + +JoinRoomJob::JoinRoomJob(const QString& roomIdOrAlias, const ThirdPartySigned& thirdPartySigned) + : BaseJob(HttpVerb::Post, "JoinRoomJob", + basePath % "/join/" % roomIdOrAlias) + , d(new Private) +{ + QJsonObject _data; + _data.insert("third_party_signed", toJson(thirdPartySigned)); + setRequestData(_data); +} + +JoinRoomJob::~JoinRoomJob() = default; + +const QString& JoinRoomJob::roomId() const +{ + return d->roomId; +} + +BaseJob::Status JoinRoomJob::parseJson(const QJsonDocument& data) +{ + auto json = data.object(); + if (!json.contains("room_id")) + return { JsonParseError, + "The key 'room_id' not found in the response" }; + d->roomId = fromJson<QString>(json.value("room_id")); + return Success; +} + diff --git a/lib/jobs/generated/joining.h b/lib/jobs/generated/joining.h new file mode 100644 index 00000000..76edb339 --- /dev/null +++ b/lib/jobs/generated/joining.h @@ -0,0 +1,77 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#pragma once + +#include "../basejob.h" + +#include <QtCore/QJsonObject> + +#include "converters.h" + +namespace QMatrixClient +{ + // Operations + + class JoinRoomByIdJob : public BaseJob + { + public: + // Inner data structures + + struct ThirdPartySigned + { + QString sender; + QString mxid; + QString token; + QJsonObject signatures; + }; + + // End of inner data structures + + explicit JoinRoomByIdJob(const QString& roomId, const ThirdPartySigned& thirdPartySigned = {}); + ~JoinRoomByIdJob() override; + + const QString& roomId() const; + + protected: + Status parseJson(const QJsonDocument& data) override; + + private: + class Private; + QScopedPointer<Private> d; + }; + + class JoinRoomJob : public BaseJob + { + public: + // Inner data structures + + struct Signed + { + QString sender; + QString mxid; + QString token; + QJsonObject signatures; + }; + + struct ThirdPartySigned + { + Signed signedData; + }; + + // End of inner data structures + + explicit JoinRoomJob(const QString& roomIdOrAlias, const ThirdPartySigned& thirdPartySigned = {}); + ~JoinRoomJob() override; + + const QString& roomId() const; + + protected: + Status parseJson(const QJsonDocument& data) override; + + private: + class Private; + QScopedPointer<Private> d; + }; +} // namespace QMatrixClient |