libQuotient
A Qt library for building matrix clients
|
Get events and state around the specified event. More...
#include <event_context.h>
Public Member Functions | |
GetEventContextJob (const QString &roomId, const QString &eventId, std::optional< int > limit=std::nullopt, const QString &filter={}) | |
QString | begin () const |
A token that can be used to paginate backwards with. More... | |
QString | end () const |
A token that can be used to paginate forwards with. More... | |
RoomEvents | eventsBefore () |
RoomEventPtr | event () |
Details of the requested event. More... | |
RoomEvents | eventsAfter () |
StateEvents | state () |
The state of the room at the last event returned. More... | |
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 &eventId, std::optional< int > limit=std::nullopt, const QString &filter={}) |
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 |
Get events and state around the specified event.
This API returns a number of events that happened just before and after the specified event. This allows clients to get the context surrounding an event.
Note: This endpoint supports lazy-loading of room member events. See Lazy-loading room members for more information.
Definition at line 19 of file event_context.h.
|
explicit |
roomId | The room to get events from. |
eventId | The event to get context around. |
limit | The maximum number of context events to return. The limit applies to the sum of the events_before and events_after arrays. The requested event ID is always returned in event even if limit is 0. Defaults to 10. |
filter | A JSON RoomEventFilter to filter the returned events with. The filter is only applied to events_before , events_after , and state . It is not applied to the event itself. The filter may be applied before or/and after the limit parameter - whichever the homeserver prefers. |
See Filtering for more information.
|
inline |
A token that can be used to paginate backwards with.
Definition at line 54 of file event_context.h.
|
inline |
A token that can be used to paginate forwards with.
Definition at line 57 of file event_context.h.
|
inline |
Details of the requested event.
Definition at line 64 of file event_context.h.
|
inline |
A list of room events that happened just after the requested event, in chronological order.
Definition at line 68 of file event_context.h.
|
inline |
A list of room events that happened just before the requested event, in reverse-chronological order.
Definition at line 61 of file event_context.h.
|
static |
Construct a URL without creating a full-fledged job object.
This function can be used when a URL for GetEventContextJob is necessary but the job itself isn't.
|
inline |
The state of the room at the last event returned.
Definition at line 71 of file event_context.h.