|
| LoginJob (const QString &type, const std::optional< UserIdentifier > &identifier=std::nullopt, const QString &password={}, const QString &token={}, const QString &deviceId={}, const QString &initialDeviceDisplayName={}, std::optional< bool > refreshToken=std::nullopt) |
|
QString | userId () const |
| The fully-qualified Matrix ID for the account. More...
|
|
QString | accessToken () const |
|
QString | refreshToken () const |
|
std::optional< int > | expiresInMs () const |
|
QString | deviceId () const |
|
std::optional< DiscoveryInformation > | wellKnown () const |
|
| 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 |
|
|
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 |
|
void | initiate (Quotient::ConnectionData *connData, bool inBackground) |
|
void | abandon () |
| Abandon the result of this job, arrived or unarrived. More...
|
|
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) |
|
template<typename... StrTs> |
static QByteArray | makePath (StrTs &&... parts) |
|
using | headers_t = QHash< QByteArray, QByteArray > |
|
void | timeout () |
|
virtual Status | checkReply (const QNetworkReply *reply) const |
| Check the pending or received reply for upfront issues. More...
|
|
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 QUrl | makeRequestUrl (QUrl baseUrl, const QByteArray &encodedPath, const QUrlQuery &query={}) |
|
QUrl | requestUrl |
|
int | maxRetries |
|
int | statusCode |
|
Authenticates the user.
Authenticates the user, and issues an access token they can use to authorize themself in subsequent requests.
If the client does not supply a device_id
, the server must auto-generate one.
The returned access token must be associated with the device_id
supplied by the client or generated by the server. The server may invalidate any access token previously associated with that device. See Relationship between access tokens and devices.
Definition at line 72 of file login.h.