libQuotient
A Qt library for building matrix clients
Quotient::MediaThumbnailJob Class Reference

#include <mediathumbnailjob.h>

Inheritance diagram for Quotient::MediaThumbnailJob:
Collaboration diagram for Quotient::MediaThumbnailJob:

Public Member Functions

 MediaThumbnailJob (const QString &serverName, const QString &mediaId, QSize requestedSize)
 
 MediaThumbnailJob (const QUrl &mxcUri, QSize requestedSize)
 
QImage thumbnail () const
 
QImage scaledThumbnail (QSize toSize) const
 
- Public Member Functions inherited from Quotient::GetContentThumbnailJob
 GetContentThumbnailJob (const QString &serverName, const QString &mediaId, int width, int height, const QString &method={}, bool allowRemote=true, qint64 timeoutMs=20000, bool allowRedirect=false)
 
QString contentType () const
 The content type of the thumbnail. More...
 
QIODevice * data ()
 A thumbnail of the requested content. 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 >
loadFromJson (const StrT &keyName, T &&defaultValue={}) const
 
template<typename 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 QUrl &mxcUri, QSize requestedSize)
 
static QUrl makeRequestUrl (QUrl baseUrl, const QString &serverName, const QString &mediaId, int width, int height, const QString &method={}, bool allowRemote=true, qint64 timeoutMs=20000, bool allowRedirect=false)
 Construct a URL without creating a full-fledged job object. More...
 
- Static Public Member Functions inherited from Quotient::GetContentThumbnailJob
static QUrl makeRequestUrl (QUrl baseUrl, const QString &serverName, const QString &mediaId, int width, int height, const QString &method={}, bool allowRemote=true, qint64 timeoutMs=20000, bool allowRedirect=false)
 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)
 

Protected Member Functions

Status prepareResult () override
 An extension point for additional reply processing. More...
 
- Protected Member Functions inherited from Quotient::BaseJob
const headers_trequestHeaders () 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 RequestDatarequestData () 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 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
 

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...
 
- 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
 

Detailed Description

Definition at line 11 of file mediathumbnailjob.h.

Constructor & Destructor Documentation

◆ MediaThumbnailJob() [1/2]

Quotient::MediaThumbnailJob::MediaThumbnailJob ( const QString &  serverName,
const QString &  mediaId,
QSize  requestedSize 
)

◆ MediaThumbnailJob() [2/2]

Quotient::MediaThumbnailJob::MediaThumbnailJob ( const QUrl &  mxcUri,
QSize  requestedSize 
)

Member Function Documentation

◆ makeRequestUrl() [1/2]

static QUrl Quotient::GetContentThumbnailJob::makeRequestUrl
static

Construct a URL without creating a full-fledged job object.

This function can be used when a URL for GetContentThumbnailJob is necessary but the job itself isn't.

◆ makeRequestUrl() [2/2]

static QUrl Quotient::MediaThumbnailJob::makeRequestUrl ( QUrl  baseUrl,
const QUrl &  mxcUri,
QSize  requestedSize 
)
static

◆ prepareResult()

Status Quotient::MediaThumbnailJob::prepareResult ( )
overrideprotectedvirtual

An extension point for additional reply processing.

The base implementation does nothing and returns Success.

See also
gotReply

Reimplemented from Quotient::BaseJob.

◆ scaledThumbnail()

QImage Quotient::MediaThumbnailJob::scaledThumbnail ( QSize  toSize) const

◆ thumbnail()

QImage Quotient::MediaThumbnailJob::thumbnail ( ) const

The documentation for this class was generated from the following file: