aboutsummaryrefslogtreecommitdiff
path: root/lib/jobs/generated
diff options
context:
space:
mode:
Diffstat (limited to 'lib/jobs/generated')
-rw-r--r--lib/jobs/generated/message_pagination.cpp76
-rw-r--r--lib/jobs/generated/message_pagination.h40
2 files changed, 116 insertions, 0 deletions
diff --git a/lib/jobs/generated/message_pagination.cpp b/lib/jobs/generated/message_pagination.cpp
new file mode 100644
index 00000000..f89ccd03
--- /dev/null
+++ b/lib/jobs/generated/message_pagination.cpp
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
+ */
+
+#include "message_pagination.h"
+
+#include "converters.h"
+
+#include <QtCore/QStringBuilder>
+
+using namespace QMatrixClient;
+
+static const auto basePath = QStringLiteral("/_matrix/client/r0");
+
+class GetRoomEventsJob::Private
+{
+ public:
+ QString begin;
+ QString end;
+ RoomEvents chunk;
+};
+
+BaseJob::Query queryToGetRoomEvents(const QString& from, const QString& to, const QString& dir, int limit, const QString& filter)
+{
+ BaseJob::Query _q;
+ _q.addQueryItem("from", from);
+ if (!to.isEmpty())
+ _q.addQueryItem("to", to);
+ _q.addQueryItem("dir", dir);
+ _q.addQueryItem("limit", QString("%1").arg(limit));
+ if (!filter.isEmpty())
+ _q.addQueryItem("filter", filter);
+ return _q;
+}
+
+QUrl GetRoomEventsJob::makeRequestUrl(QUrl baseUrl, const QString& roomId, const QString& from, const QString& dir, const QString& to, int limit, const QString& filter)
+{
+ return BaseJob::makeRequestUrl(std::move(baseUrl),
+ basePath % "/rooms/" % roomId % "/messages",
+ queryToGetRoomEvents(from, to, dir, limit, filter));
+}
+
+GetRoomEventsJob::GetRoomEventsJob(const QString& roomId, const QString& from, const QString& dir, const QString& to, int limit, const QString& filter)
+ : BaseJob(HttpVerb::Get, "GetRoomEventsJob",
+ basePath % "/rooms/" % roomId % "/messages",
+ queryToGetRoomEvents(from, to, dir, limit, filter))
+ , d(new Private)
+{
+}
+
+GetRoomEventsJob::~GetRoomEventsJob() = default;
+
+const QString& GetRoomEventsJob::begin() const
+{
+ return d->begin;
+}
+
+const QString& GetRoomEventsJob::end() const
+{
+ return d->end;
+}
+
+RoomEvents&& GetRoomEventsJob::chunk()
+{
+ return std::move(d->chunk);
+}
+
+BaseJob::Status GetRoomEventsJob::parseJson(const QJsonDocument& data)
+{
+ auto json = data.object();
+ d->begin = fromJson<QString>(json.value("start"));
+ d->end = fromJson<QString>(json.value("end"));
+ d->chunk = fromJson<RoomEvents>(json.value("chunk"));
+ return Success;
+}
+
diff --git a/lib/jobs/generated/message_pagination.h b/lib/jobs/generated/message_pagination.h
new file mode 100644
index 00000000..b8588ad1
--- /dev/null
+++ b/lib/jobs/generated/message_pagination.h
@@ -0,0 +1,40 @@
+/******************************************************************************
+ * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
+ */
+
+#pragma once
+
+#include "../basejob.h"
+
+#include "events/event.h"
+
+
+namespace QMatrixClient
+{
+ // Operations
+
+ class GetRoomEventsJob : public BaseJob
+ {
+ public:
+ /** Construct a URL out of baseUrl and usual parameters passed to
+ * GetRoomEventsJob. This function can be used when
+ * a URL for GetRoomEventsJob is necessary but the job
+ * itself isn't.
+ */
+ static QUrl makeRequestUrl(QUrl baseUrl, const QString& roomId, const QString& from, const QString& dir, const QString& to = {}, int limit = {}, const QString& filter = {});
+
+ explicit GetRoomEventsJob(const QString& roomId, const QString& from, const QString& dir, const QString& to = {}, int limit = {}, const QString& filter = {});
+ ~GetRoomEventsJob() override;
+
+ const QString& begin() const;
+ const QString& end() const;
+ RoomEvents&& chunk();
+
+ protected:
+ Status parseJson(const QJsonDocument& data) override;
+
+ private:
+ class Private;
+ QScopedPointer<Private> d;
+ };
+} // namespace QMatrixClient