libQuotient
A Qt library for building matrix clients
|
Fetches a list of the threads in a room. More...
#include <threads_list.h>
Public Member Functions | |
GetThreadRootsJob (const QString &roomId, const QString &include={}, std::optional< int > limit=std::nullopt, const QString &from={}) | |
RoomEvents | chunk () |
QString | nextBatch () 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 |
Static Public Member Functions | |
static QUrl | makeRequestUrl (QUrl baseUrl, const QString &roomId, const QString &include={}, std::optional< int > limit=std::nullopt, const QString &from={}) |
Construct a URL without creating a full-fledged job object. More... | |
Static Public Member Functions inherited from Quotient::BaseJob | |
template<typename... StrTs> | |
static QByteArray | makePath (StrTs &&... parts) |
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) |
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 |
Fetches a list of the threads in a room.
This API is used to paginate through the list of the thread roots in a given room.
Optionally, the returned list may be filtered according to whether the requesting user has participated in the thread.
Definition at line 16 of file threads_list.h.
|
explicit |
roomId | The room ID where the thread roots are located. |
include | Optional (default all ) flag to denote which thread roots are of interest to the caller. When all , all thread roots found in the room are returned. When participated , only thread roots for threads the user has participated in will be returned. |
limit | Optional limit for the maximum number of thread roots to include per response. Must be an integer greater than zero. |
Servers should apply a default value, and impose a maximum value to avoid resource exhaustion.
from | A pagination token from a previous result. When not provided, the server starts paginating from the most recent event visible to the user (as per history visibility rules; topologically). |
|
inline |
The thread roots, ordered by the latest_event
in each event's aggregated children. All events returned include bundled aggregations.
If the thread root event was sent by an ignored user, the event is returned redacted to the caller. This is to simulate the same behaviour of a client doing aggregation locally on the thread.
Definition at line 58 of file threads_list.h.
|
static |
Construct a URL without creating a full-fledged job object.
This function can be used when a URL for GetThreadRootsJob is necessary but the job itself isn't.
|
inline |
A token to supply to from
to keep paginating the responses. Not present when there are no further results.
Definition at line 62 of file threads_list.h.