libQuotient
A Qt library for building matrix clients
|
Lists the public rooms on the server with optional filter. More...
#include <list_public_rooms.h>
Classes | |
struct | Filter |
Filter to apply to the results. More... | |
Public Member Functions | |
QueryPublicRoomsJob (const QString &server={}, std::optional< int > limit=std::nullopt, const QString &since={}, const std::optional< Filter > &filter=std::nullopt, std::optional< bool > includeAllNetworks=std::nullopt, const QString &thirdPartyInstanceId={}) | |
QVector< PublicRoomsChunk > | chunk () const |
A paginated chunk of public rooms. More... | |
QString | nextBatch () const |
QString | prevBatch () const |
std::optional< int > | totalRoomCountEstimate () const |
Public Member Functions inherited from Quotient::BaseJob | |
BaseJob (HttpVerb verb, const QString &name, QByteArray endpoint, bool needsToken=true) | |
BaseJob (HttpVerb verb, const QString &name, QByteArray endpoint, const QUrlQuery &query, RequestData &&data={}, bool needsToken=true) | |
QUrl | requestUrl () const |
bool | isBackground () const |
Status | status () const |
QString | statusCaption () const |
QByteArray | rawData (int bytesAtMost) const |
const QByteArray & | rawData () const |
QString | rawDataSample (int bytesAtMost=65535) const |
QJsonObject | jsonData () const |
QJsonArray | jsonItems () const |
template<typename T , typename StrT > | |
T | loadFromJson (const StrT &keyName, T &&defaultValue={}) const |
template<typename T > | |
T | takeFromJson (const QString &key, T &&defaultValue={}) |
int | error () const |
virtual QString | errorString () const |
QUrl | errorUrl () const |
int | maxRetries () const |
void | setMaxRetries (int newMaxRetries) |
std::chrono::seconds | getCurrentTimeout () const |
Q_INVOKABLE Quotient::BaseJob::duration_ms_t | getCurrentTimeoutMs () const |
std::chrono::seconds | getNextRetryInterval () const |
Q_INVOKABLE Quotient::BaseJob::duration_ms_t | getNextRetryMs () const |
std::chrono::milliseconds | timeToRetry () const |
Q_INVOKABLE Quotient::BaseJob::duration_ms_t | millisToRetry () const |
Additional Inherited Members | |
Public Types inherited from Quotient::BaseJob | |
enum | StatusCode { Success = 0 , NoError = Success , Pending = 1 , WarningLevel = 20 , UnexpectedResponseType = 21 , UnexpectedResponseTypeWarning = UnexpectedResponseType , Unprepared = 25 , Abandoned = 50 , ErrorLevel = 100 , NetworkError = 101 , Timeout , Unauthorised , ContentAccessError , NotFound , IncorrectRequest , IncorrectResponse , TooManyRequests , RateLimited = TooManyRequests , RequestNotImplemented , UnsupportedRoomVersion , NetworkAuthRequired , UserConsentRequired , CannotLeaveRoom , UserDeactivated , FileError , UserDefinedError = 256 } |
using | duration_ms_t = std::chrono::milliseconds::rep |
Public Slots inherited from Quotient::BaseJob | |
void | initiate (Quotient::ConnectionData *connData, bool inBackground) |
void | abandon () |
Abandon the result of this job, arrived or unarrived. More... | |
Signals inherited from Quotient::BaseJob | |
void | aboutToSendRequest (QNetworkRequest *req) |
The job is about to send a network request. More... | |
void | sentRequest () |
void | statusChanged (Quotient::BaseJob::Status newStatus) |
void | retryScheduled (int nextAttempt, Quotient::BaseJob::duration_ms_t inMilliseconds) |
void | rateLimited () |
void | finished (Quotient::BaseJob *job) |
void | result (Quotient::BaseJob *job) |
void | success (Quotient::BaseJob *) |
void | failure (Quotient::BaseJob *) |
void | downloadProgress (qint64 bytesReceived, qint64 bytesTotal) |
void | uploadProgress (qint64 bytesSent, qint64 bytesTotal) |
Static Public Member Functions inherited from Quotient::BaseJob | |
template<typename... StrTs> | |
static QByteArray | makePath (StrTs &&... parts) |
Protected Types inherited from Quotient::BaseJob | |
using | headers_t = QHash< QByteArray, QByteArray > |
Protected Slots inherited from Quotient::BaseJob | |
void | timeout () |
virtual Status | checkReply (const QNetworkReply *reply) const |
Check the pending or received reply for upfront issues. More... | |
Protected Member Functions inherited from Quotient::BaseJob | |
const headers_t & | requestHeaders () const |
void | setRequestHeader (const headers_t::key_type &headerName, const headers_t::mapped_type &headerValue) |
void | setRequestHeaders (const headers_t &headers) |
QUrlQuery | query () const |
void | setRequestQuery (const QUrlQuery &query) |
const RequestData & | requestData () const |
void | setRequestData (RequestData &&data) |
const QByteArrayList & | expectedContentTypes () const |
void | addExpectedContentType (const QByteArray &contentType) |
void | setExpectedContentTypes (const QByteArrayList &contentTypes) |
QByteArrayList | expectedKeys () const |
void | addExpectedKey (const QByteArray &key) |
void | setExpectedKeys (const QByteArrayList &keys) |
const QNetworkReply * | reply () const |
QNetworkReply * | reply () |
virtual void | doPrepare () |
virtual void | onSentRequest (QNetworkReply *) |
virtual void | beforeAbandon () |
virtual Status | prepareResult () |
An extension point for additional reply processing. More... | |
virtual Status | prepareError (Status currentStatus) |
Process details of the error. More... | |
QJsonValue | takeValueFromJson (const QString &key) |
Get direct access to the JSON response object in the job. More... | |
void | setStatus (Status s) |
void | setStatus (int code, QString message) |
void | setLoggingCategory (QMessageLogger::CategoryFunction lcf) |
Set the logging category for the given job instance. More... | |
~BaseJob () override | |
Static Protected Member Functions inherited from Quotient::BaseJob | |
static QUrl | makeRequestUrl (QUrl baseUrl, const QByteArray &encodedPath, const QUrlQuery &query={}) |
Properties inherited from Quotient::BaseJob | |
QUrl | requestUrl |
int | maxRetries |
int | statusCode |
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.
Definition at line 113 of file list_public_rooms.h.
|
explicit |
server | The server to fetch the public room lists from. Defaults to the local server. Case sensitive. |
limit | Limit the number of results returned. |
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. |
filter | Filter to apply to the results. |
includeAllNetworks | Whether or not to include all known networks/protocols from application services on the homeserver. Defaults to false. |
thirdPartyInstanceId | The specific third-party network/protocol to request from the homeserver. Can only be used if include_all_networks is false. |
|
inline |
A paginated chunk of public rooms.
Definition at line 164 of file list_public_rooms.h.
|
inline |
A pagination token for the response. The absence of this token means there are no more results to fetch and the client should stop paginating.
Definition at line 172 of file list_public_rooms.h.
|
inline |
A pagination token that allows fetching previous results. The absence of this token means there are no results before this batch, i.e. this is the first batch.
Definition at line 177 of file list_public_rooms.h.
|
inline |
An estimate on the total number of public rooms, if the server has an estimate.
Definition at line 181 of file list_public_rooms.h.