libQuotient
A Qt library for building matrix clients
|
Start the requesting user participating in a particular room. More...
#include <joining.h>
Public Member Functions | |
JoinRoomByIdJob (const QString &roomId, const std::optional< ThirdPartySigned > &thirdPartySigned=std::nullopt, const QString &reason={}) | |
QString | roomId () const |
The joined room ID. 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 |
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 |
Start the requesting user participating in a particular room.
Note that this API requires a room ID, not alias. /join/{roomIdOrAlias}
exists if you have a room alias.
This API starts a user participating in a particular room, if that user is allowed to participate in that room. After this call, the client is allowed to see all current state events in the room, and all subsequent events associated with the room until the user leaves the room.
After a user has joined a room, the room will appear as an entry in the response of the /initialSync
and /sync
APIs.
|
explicit |
roomId | The room identifier (not alias) to join. |
thirdPartySigned | If supplied, the homeserver must verify that it matches a pending m.room.third_party_invite event in the room, and perform key validity checking if required by the event. |
reason | Optional reason to be included as the reason on the subsequent membership event. |
|
inline |