![]() |
libQuotient
A Qt library for building matrix clients
|
Perform a server-side search. More...
#include <search.h>


Classes | |
| struct | Categories |
| Describes which categories to search in and their criteria. More... | |
| struct | EventContext |
| Context for result, if requested. More... | |
| struct | Group |
| Configuration for group. More... | |
| struct | Groupings |
| struct | GroupValue |
| The results for a particular group value. More... | |
| struct | IncludeEventContext |
| struct | Result |
| The result object. More... | |
| struct | ResultCategories |
| Describes which categories to search in and their criteria. More... | |
| struct | ResultRoomEvents |
| Mapping of category name to search criteria. More... | |
| struct | RoomEventsCriteria |
| Mapping of category name to search criteria. More... | |
| struct | UserProfile |
Public Member Functions | |
| SearchJob (const Categories &searchCategories, const QString &nextBatch={}) | |
| ResultCategories | searchCategories () const |
| Describes which categories to search in and their criteria. | |
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 |
| Current status of the job. | |
| QString | statusCaption () const |
| Short human-friendly message on the job status. | |
| QByteArray | rawData (int bytesAtMost) const |
| Get first bytes of the raw response body as received from the server. | |
| const QByteArray & | rawData () const |
| Access the whole response body as received from the server. | |
| QString | rawDataSample (int bytesAtMost=65535) const |
| Get UI-friendly sample of raw data. | |
| QJsonObject | jsonData () const |
| Get the response body as a JSON object. | |
| QJsonArray | jsonItems () const |
| Get the response body as a JSON array. | |
| template<typename T > | |
| T | loadFromJson (auto keyName, T &&defaultValue={}) const |
| Load the property from the JSON response assuming a given C++ type. | |
| template<typename T > | |
| T | takeFromJson (auto key, T &&defaultValue={}) |
| Load the property from the JSON response and delete it from JSON. | |
| int | error () const |
| Error (more generally, status) code. | |
| virtual QString | errorString () const |
| Error-specific message, as returned by the server. | |
| QUrl | errorUrl () const |
| A URL to help/clarify the error, if provided by the server. | |
| JobBackoffStrategy | currentBackoffStrategy () const |
| Get the back-off strategy for this job instance. | |
| void | setBackoffStrategy (JobBackoffStrategy strategy) |
| Set the back-off strategy for this specific job instance. | |
| JobBackoffStrategy::duration_t | getCurrentTimeout () const |
| Q_INVOKABLE Quotient::BaseJob::duration_ms_t | getCurrentTimeoutMs () const |
| JobBackoffStrategy::duration_t | 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 , AccountLocked , UserDefinedError = 256 } |
| Job status codes. More... | |
| 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. | |
Signals inherited from Quotient::BaseJob | |
| void | aboutToSendRequest (QNetworkRequest *req) |
| The job is about to send a network request. | |
| void | sentRequest () |
| The job has sent a network request. | |
| void | statusChanged (Quotient::BaseJob::Status newStatus) |
| The job has changed its status. | |
| void | retryScheduled (int nextRetryNumber, Quotient::BaseJob::duration_ms_t inMilliseconds) |
| A retry of the network request is scheduled after the previous request failed. | |
| void | rateLimited () |
| The job has been rate-limited. | |
| void | finished (Quotient::BaseJob *job) |
| The job has finished - either with a result, or abandoned. | |
| void | result (Quotient::BaseJob *job) |
| The job has finished with a result, successful or unsuccessful. | |
| void | success (Quotient::BaseJob *) |
| The job has finished with a successful result. | |
| void | failure (Quotient::BaseJob *) |
| The job has finished with a failure result Emitted together with result() when the job resulted in an error. Mutually exclusive with success(): after result() is emitted, exactly one of success() and failure() will be emitted next. Will not be emitted in case of abandon()ing. | |
| 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 (QByteArrayView base, StrTs &&... parts) |
| static JobBackoffStrategy | defaultBackoffStrategy () |
| Get the default back-off strategy used for any newly created job. | |
| static void | setDefaultBackoffStrategy (JobBackoffStrategy defaultStrategy) |
| Set the default back-off strategy to use for any newly created job. | |
Protected Types inherited from Quotient::BaseJob | |
| using | headers_t = QHash< QByteArray, QByteArray > |
Protected Slots inherited from Quotient::BaseJob | |
| void | timeout () |
Protected Member Functions inherited from Quotient::BaseJob | |
| QByteArray | apiEndpoint () const |
| void | setApiEndpoint (QByteArray apiEndpoint) |
| 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) |
| QStringList | expectedKeys () const |
| void | addExpectedKey (QString key) |
| void | setExpectedKeys (const QStringList &keys) |
| const QNetworkReply * | reply () const |
| QNetworkReply * | reply () |
| virtual void | doPrepare (const ConnectionData *) |
| Prepare the job for execution. | |
| virtual void | onSentRequest (QNetworkReply *) |
| Postprocessing after the network request has been sent. | |
| virtual void | beforeAbandon () |
| virtual Status | checkReply (const QNetworkReply *reply) const |
| Check the pending or received reply for upfront issues. | |
| virtual Status | prepareResult () |
| An extension point for additional reply processing. | |
| virtual Status | prepareError (Status currentStatus) |
| Process details of the error. | |
| QJsonValue | takeValueFromJson (QAnyStringView key) |
| Retrieve a value for one specific key and delete it from the JSON response object. | |
| void | setStatus (Status s) |
| void | setStatus (int code, QString message) |
| void | forceResult (QJsonDocument resultDoc, Status s={ Success }) |
| Force completion of the job for sake of testing. | |
| void | setLoggingCategory (QMessageLogger::CategoryFunction lcf) |
| Set the logging category for the given job instance. | |
| ~BaseJob () override | |
Static Protected Member Functions inherited from Quotient::BaseJob | |
| static QUrl | makeRequestUrl (const HomeserverData &hsData, const QByteArray &encodedPath, const QUrlQuery &query={}) |
| Construct a URL out of baseUrl, path and query. | |
Properties inherited from Quotient::BaseJob | |
| QUrl | requestUrl |
| int | statusCode |
Perform a server-side search.
Performs a full text search across different categories.
|
explicit |
| searchCategories | Describes which categories to search in and their criteria. |
| nextBatch | The point to return events from. If given, this should be a next_batch result from a previous call to this endpoint. |
|
inline |