aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/list_public_rooms.h
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2019-06-24 07:21:13 +0900
committerKitsune Ral <Kitsune-Ral@users.sf.net>2019-06-24 07:21:13 +0900
commit63ae79c3e2820efc2ba60d33e2caf2d7b9b3c408 (patch)
tree2552f5049a6ef7ba0034483b25ca4ab33d1fcb13 /lib/csapi/list_public_rooms.h
parente083d327e6f6581210f8d077d8bbe1151e81e82c (diff)
parent93f0c8fe89f448d1d58caa757573f17102369471 (diff)
downloadlibquotient-63ae79c3e2820efc2ba60d33e2caf2d7b9b3c408.tar.gz
libquotient-63ae79c3e2820efc2ba60d33e2caf2d7b9b3c408.zip
Merge branch 'master' into clang-format
# Conflicts: # CMakeLists.txt # lib/avatar.cpp # lib/connection.cpp # lib/connection.h # lib/connectiondata.cpp # lib/csapi/account-data.cpp # lib/csapi/account-data.h # lib/csapi/capabilities.cpp # lib/csapi/capabilities.h # lib/csapi/content-repo.cpp # lib/csapi/create_room.cpp # lib/csapi/filter.cpp # lib/csapi/joining.cpp # lib/csapi/keys.cpp # lib/csapi/list_joined_rooms.cpp # lib/csapi/notifications.cpp # lib/csapi/openid.cpp # lib/csapi/presence.cpp # lib/csapi/pushrules.cpp # lib/csapi/registration.cpp # lib/csapi/room_upgrades.cpp # lib/csapi/room_upgrades.h # lib/csapi/search.cpp # lib/csapi/users.cpp # lib/csapi/versions.cpp # lib/csapi/whoami.cpp # lib/csapi/{{base}}.cpp.mustache # lib/events/accountdataevents.h # lib/events/eventcontent.h # lib/events/roommemberevent.cpp # lib/events/stateevent.cpp # lib/jobs/basejob.cpp # lib/jobs/basejob.h # lib/networkaccessmanager.cpp # lib/networksettings.cpp # lib/room.cpp # lib/room.h # lib/settings.cpp # lib/settings.h # lib/syncdata.cpp # lib/user.cpp # lib/user.h # lib/util.cpp
Diffstat (limited to 'lib/csapi/list_public_rooms.h')
-rw-r--r--lib/csapi/list_public_rooms.h343
1 files changed, 176 insertions, 167 deletions
diff --git a/lib/csapi/list_public_rooms.h b/lib/csapi/list_public_rooms.h
index 1a0af880..da68416d 100644
--- a/lib/csapi/list_public_rooms.h
+++ b/lib/csapi/list_public_rooms.h
@@ -4,180 +4,189 @@
#pragma once
-#include "jobs/basejob.h"
-
#include "converters.h"
+
#include "csapi/definitions/public_rooms_response.h"
-namespace QMatrixClient {
- // Operations
+#include "jobs/basejob.h"
- /// Gets the visibility of a room in the directory
- ///
- /// Gets the visibility of a given room on the server's public room
- /// directory.
- class GetRoomVisibilityOnDirectoryJob : public BaseJob
- {
- public:
- /*! Gets the visibility of a room in the directory
- * \param roomId
- * The room ID.
- */
- explicit GetRoomVisibilityOnDirectoryJob(const QString& roomId);
-
- /*! Construct a URL without creating a full-fledged job object
- *
- * This function can be used when a URL for
- * GetRoomVisibilityOnDirectoryJob is necessary but the job
- * itself isn't.
- */
- static QUrl makeRequestUrl(QUrl baseUrl, const QString& roomId);
-
- ~GetRoomVisibilityOnDirectoryJob() override;
-
- // Result properties
-
- /// The visibility of the room in the directory.
- const QString& visibility() const;
-
- protected:
- Status parseJson(const QJsonDocument& data) override;
-
- private:
- class Private;
- QScopedPointer<Private> d;
- };
+namespace QMatrixClient
+{
- /// Sets the visibility of a room in the room directory
- ///
- /// Sets the visibility of a given room in the server's public room
- /// directory.
- ///
- /// Servers may choose to implement additional access control checks
- /// here, for instance that room visibility can only be changed by
- /// the room creator or a server administrator.
- class SetRoomVisibilityOnDirectoryJob : public BaseJob
- {
- public:
- /*! Sets the visibility of a room in the room directory
- * \param roomId
- * The room ID.
- * \param visibility
- * The new visibility setting for the room.
- * Defaults to 'public'.
- */
- explicit SetRoomVisibilityOnDirectoryJob(
- const QString& roomId, const QString& visibility = {});
- };
+// Operations
- /// Lists the public rooms on the server.
- ///
- /// Lists the public rooms on the server.
- ///
- /// This API returns paginated responses. The rooms are ordered by the
- /// number of joined members, with the largest rooms first.
- class GetPublicRoomsJob : public BaseJob
- {
- public:
- /*! Lists the public rooms on the server.
- * \param limit
- * Limit the number of results returned.
- * \param since
- * A pagination token from a previous request, allowing clients to
- * get the next (or previous) batch of rooms.
- * The direction of pagination is specified solely by which token
- * is supplied, rather than via an explicit flag.
- * \param server
- * The server to fetch the public room lists from. Defaults to the
- * local server.
- */
- explicit GetPublicRoomsJob(Omittable<int> limit = none,
- const QString& since = {},
- const QString& server = {});
-
- /*! Construct a URL without creating a full-fledged job object
- *
- * This function can be used when a URL for
- * GetPublicRoomsJob is necessary but the job
- * itself isn't.
- */
- static QUrl makeRequestUrl(QUrl baseUrl, Omittable<int> limit = none,
- const QString& since = {},
- const QString& server = {});
-
- ~GetPublicRoomsJob() override;
-
- // Result properties
-
- /// A list of the rooms on the server.
- const PublicRoomsResponse& data() const;
-
- protected:
- Status parseJson(const QJsonDocument& data) override;
-
- private:
- class Private;
- QScopedPointer<Private> d;
- };
+/// Gets the visibility of a room in the directory
+/*!
+ * Gets the visibility of a given room on the server's public room directory.
+ */
+class GetRoomVisibilityOnDirectoryJob : public BaseJob
+{
+public:
+ /*! Gets the visibility of a room in the directory
+ * \param roomId
+ * The room ID.
+ */
+ explicit GetRoomVisibilityOnDirectoryJob(const QString& roomId);
+
+ /*! Construct a URL without creating a full-fledged job object
+ *
+ * This function can be used when a URL for
+ * GetRoomVisibilityOnDirectoryJob is necessary but the job
+ * itself isn't.
+ */
+ static QUrl makeRequestUrl(QUrl baseUrl, const QString& roomId);
+
+ ~GetRoomVisibilityOnDirectoryJob() override;
+
+ // Result properties
+
+ /// The visibility of the room in the directory.
+ const QString& visibility() const;
+
+protected:
+ Status parseJson(const QJsonDocument& data) override;
+
+private:
+ class Private;
+ QScopedPointer<Private> d;
+};
+
+/// Sets the visibility of a room in the room directory
+/*!
+ * Sets the visibility of a given room in the server's public room
+ * directory.
+ *
+ * Servers may choose to implement additional access control checks
+ * here, for instance that room visibility can only be changed by
+ * the room creator or a server administrator.
+ */
+class SetRoomVisibilityOnDirectoryJob : public BaseJob
+{
+public:
+ /*! Sets the visibility of a room in the room directory
+ * \param roomId
+ * The room ID.
+ * \param visibility
+ * The new visibility setting for the room.
+ * Defaults to 'public'.
+ */
+ explicit SetRoomVisibilityOnDirectoryJob(const QString& roomId,
+ const QString& visibility = {});
+};
+
+/// Lists the public rooms on the server.
+/*!
+ * Lists the public rooms on the server.
+ *
+ * This API returns paginated responses. The rooms are ordered by the number
+ * of joined members, with the largest rooms first.
+ */
+class GetPublicRoomsJob : public BaseJob
+{
+public:
+ /*! Lists the public rooms on the server.
+ * \param limit
+ * Limit the number of results returned.
+ * \param since
+ * A pagination token from a previous request, allowing clients to
+ * get the next (or previous) batch of rooms.
+ * The direction of pagination is specified solely by which token
+ * is supplied, rather than via an explicit flag.
+ * \param server
+ * The server to fetch the public room lists from. Defaults to the
+ * local server.
+ */
+ explicit GetPublicRoomsJob(Omittable<int> limit = none,
+ const QString& since = {},
+ const QString& server = {});
+
+ /*! Construct a URL without creating a full-fledged job object
+ *
+ * This function can be used when a URL for
+ * GetPublicRoomsJob is necessary but the job
+ * itself isn't.
+ */
+ static QUrl makeRequestUrl(QUrl baseUrl, Omittable<int> limit = none,
+ const QString& since = {},
+ const QString& server = {});
+
+ ~GetPublicRoomsJob() override;
+
+ // Result properties
+
+ /// A list of the rooms on the server.
+ const PublicRoomsResponse& data() const;
+
+protected:
+ Status parseJson(const QJsonDocument& data) override;
+
+private:
+ class Private;
+ QScopedPointer<Private> d;
+};
+
+/// Lists the public rooms on the server with optional filter.
+/*!
+ * Lists the public rooms on the server, with optional filter.
+ *
+ * This API returns paginated responses. The rooms are ordered by the number
+ * of joined members, with the largest rooms first.
+ */
+class QueryPublicRoomsJob : public BaseJob
+{
+public:
+ // Inner data structures
- /// Lists the public rooms on the server with optional filter.
- ///
- /// Lists the public rooms on the server, with optional filter.
- ///
- /// This API returns paginated responses. The rooms are ordered by the
- /// number of joined members, with the largest rooms first.
- class QueryPublicRoomsJob : public BaseJob
+ /// Filter to apply to the results.
+ struct Filter
{
- public:
- // Inner data structures
-
- /// Filter to apply to the results.
- struct Filter {
- /// A string to search for in the room metadata, e.g. name,
- /// topic, canonical alias etc. (Optional).
- QString genericSearchTerm;
- };
-
- // Construction/destruction
-
- /*! Lists the public rooms on the server with optional filter.
- * \param server
- * The server to fetch the public room lists from. Defaults to the
- * local server.
- * \param limit
- * Limit the number of results returned.
- * \param since
- * A pagination token from a previous request, allowing clients
- * to get the next (or previous) batch of rooms. The direction
- * of pagination is specified solely by which token is supplied,
- * rather than via an explicit flag.
- * \param filter
- * Filter to apply to the results.
- * \param includeAllNetworks
- * Whether or not to include all known networks/protocols from
- * application services on the homeserver. Defaults to false.
- * \param thirdPartyInstanceId
- * The specific third party network/protocol to request from the
- * homeserver. Can only be used if ``include_all_networks`` is false.
- */
- explicit QueryPublicRoomsJob(const QString& server = {},
- Omittable<int> limit = none,
- const QString& since = {},
- const Omittable<Filter>& filter = none,
- Omittable<bool> includeAllNetworks = none,
- const QString& thirdPartyInstanceId = {});
- ~QueryPublicRoomsJob() override;
-
- // Result properties
-
- /// A list of the rooms on the server.
- const PublicRoomsResponse& data() const;
-
- protected:
- Status parseJson(const QJsonDocument& data) override;
-
- private:
- class Private;
- QScopedPointer<Private> d;
+ /// A string to search for in the room metadata, e.g. name,topic,
+ /// canonical alias etc. (Optional).
+ QString genericSearchTerm;
};
+
+ // Construction/destruction
+
+ /*! Lists the public rooms on the server with optional filter.
+ * \param server
+ * The server to fetch the public room lists from. Defaults to the
+ * local server.
+ * \param limit
+ * Limit the number of results returned.
+ * \param since
+ * A pagination token from a previous request, allowing clients
+ * to get the next (or previous) batch of rooms. The direction
+ * of pagination is specified solely by which token is supplied,
+ * rather than via an explicit flag.
+ * \param filter
+ * Filter to apply to the results.
+ * \param includeAllNetworks
+ * Whether or not to include all known networks/protocols from
+ * application services on the homeserver. Defaults to false.
+ * \param thirdPartyInstanceId
+ * The specific third party network/protocol to request from the
+ * homeserver. Can only be used if ``include_all_networks`` is false.
+ */
+ explicit QueryPublicRoomsJob(const QString& server = {},
+ Omittable<int> limit = none,
+ const QString& since = {},
+ const Omittable<Filter>& filter = none,
+ Omittable<bool> includeAllNetworks = none,
+ const QString& thirdPartyInstanceId = {});
+
+ ~QueryPublicRoomsJob() override;
+
+ // Result properties
+
+ /// A list of the rooms on the server.
+ const PublicRoomsResponse& data() const;
+
+protected:
+ Status parseJson(const QJsonDocument& data) override;
+
+private:
+ class Private;
+ QScopedPointer<Private> d;
+};
+
} // namespace QMatrixClient