|
QtRestClient
3.0.0
A library for generic JSON-based REST-APIs, with a mechanism to map JSON to Qt objects
|
The base class for GenericRestReply specializations. More...
#include <genericrestreply.h>
Inheritance diagram for QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >:Public Types | |
| using | TInstance = GenericRestReply< DataClassType, ErrorClassType > |
| The specialized GenericRestReply that is associated with the reply base. | |
Public Types inherited from QtRestClient::RestReply | |
| enum | Error { Error::Network, Error::Parser, Error::Failure, Error::Deserialization } |
| Defines the different possible error types. More... | |
| using | DataType = std::variant< std::nullopt_t, QCborValue, QJsonValue > |
| Internal datatype that unites JSON and CBOR data in a typesafe union. | |
Public Member Functions | |
| TInstance * | onFailed (std::function< void(int, ErrorClassType)> handler) |
| Set a handler to be called if the request failed. More... | |
| virtual TInstance * | onFailed (QObject *scope, std::function< void(int, ErrorClassType)> handler) |
| Set a handler to be called if the request failed. More... | |
| TInstance * | onSerializeException (std::function< void(QtJsonSerializer::Exception &)> handler) |
| Set a handler to be called on deserialization exceptions. More... | |
| TInstance * | onAllErrors (const std::function< void(QString, int, Error)> &handler, std::function< QString(ErrorClassType, int)> failureTransformer={}) |
| Set a handler to be called if the request did not succeed. More... | |
| TInstance * | onAllErrors (QObject *scope, const std::function< void(QString, int, Error)> &handler, std::function< QString(ErrorClassType, int)> failureTransformer={}) |
| Set a handler to be called if the request did not succeed. More... | |
| TInstance * | onCompleted (std::function< void(int)> handler) |
| Set a handler to be called when the request was completed, regardless of success or failure. More... | |
| TInstance * | onCompleted (QObject *scope, std::function< void(int)> handler) |
| Set a handler to be called when the request was completed, regardless of success or failure. More... | |
| TInstance * | onError (std::function< void(QString, int, Error)> handler) |
| Set a handler to be called if a network error or json parse error occures. More... | |
| virtual TInstance * | onError (QObject *scope, std::function< void(QString, int, RestReply::Error)> handler) |
| Set a handler to be called if a network error or json parse error occures. More... | |
| TInstance * | makeAsync (QThreadPool *threadPool=QThreadPool::globalInstance()) |
| WRITE accessor for RestReply::async. More... | |
| TInstance * | disableAutoDelete () |
| WRITE accessor for RestReply::autoDelete. More... | |
| GenericRestReplyAwaitable< DataClassType, ErrorClassType > | awaitable () |
| Returns an awaitable object for this reply. | |
Public Member Functions inherited from QtRestClient::RestReply | |
| RestReply (QNetworkReply *networkReply, QObject *parent=nullptr) | |
| Creates a new reply based on a network reply. | |
| RestReply (const QFuture< QNetworkReply * > &networkReplyFuture, QObject *parent=nullptr) | |
| Creates a new reply based on a future network reply. | |
| RestReply (QNetworkReply *networkReply, QThreadPool *asyncPool, QObject *parent=nullptr) | |
| Creates a new reply based on a network reply and a threadpool. | |
| RestReply (const QFuture< QNetworkReply * > &networkReplyFuture, QThreadPool *asyncPool, QObject *parent=nullptr) | |
| Creates a new reply based on a future network reply and a threadpool. | |
| template<typename TFn > | |
| RestReply * | onSucceeded (TFn &&handler) |
| Set a handler to be called if the request succeeded. More... | |
| template<typename TFn > | |
| RestReply * | onSucceeded (QObject *scope, TFn &&handler) |
| Set a handler to be called if the request succeeded. More... | |
| template<typename TFn > | |
| RestReply * | onFailed (TFn &&handler) |
| Set a handler to be called if the request failed. More... | |
| template<typename TFn > | |
| RestReply * | onFailed (QObject *scope, TFn &&handler) |
| Set a handler to be called if the request failed. More... | |
| template<typename TFn > | |
| RestReply * | onCompleted (TFn &&handler) |
| Set a handler to be called when the request was completed, regardless of success or failure. More... | |
| template<typename TFn > | |
| RestReply * | onCompleted (QObject *scope, TFn &&handler) |
| Set a handler to be called when the request was completed, regardless of success or failure. More... | |
| RestReply * | onError (std::function< void(QString, int, Error)> handler) |
| Set a handler to be called if a network error or json parse error occures. More... | |
| RestReply * | onError (QObject *scope, std::function< void(QString, int, Error)> handler) |
| Set a handler to be called if a network error or json parse error occures. More... | |
| template<typename TFn > | |
| RestReply * | onAllErrors (const std::function< void(QString, int, Error)> &handler, TFn &&failureTransformer) |
| Set a handler to be called if the request did not succeed. More... | |
| template<typename TFn > | |
| RestReply * | onAllErrors (QObject *scope, const std::function< void(QString, int, Error)> &handler, TFn &&failureTransformer) |
| Set a handler to be called if the request did not succeed. More... | |
| Q_INVOKABLE RestReply * | makeAsync (QThreadPool *threadPool=QThreadPool::globalInstance()) |
| WRITE accessor for RestReply::async. | |
| Q_INVOKABLE RestReply * | disableAutoDelete () |
| WRITE accessor for RestReply::autoDelete. | |
| bool | autoDelete () const |
| READ accessor for RestReply::autoDelete. | |
| bool | allowsEmptyReplies () const |
| READ accessor for RestReply::allowEmptyReplies. | |
| bool | isAsync () const |
| READ accessor for RestReply::async. | |
| Q_INVOKABLE QNetworkReply * | networkReply () const |
| Returns the network reply associated with the rest reply. | |
| RestReplyAwaitable | awaitable () |
| Returns an awaitable object for this reply. | |
Public Member Functions inherited from QObject | |
| virtual const QMetaObject * | metaObject () const const |
| QObject (QObject *parent) | |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| QString | objectName () const const |
| void | setObjectName (const QString &name) |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| bool | signalsBlocked () const const |
| bool | blockSignals (bool block) |
| QThread * | thread () const const |
| void | moveToThread (QThread *targetThread) |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
| void | killTimer (int id) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| const QObjectList & | children () const const |
| void | setParent (QObject *parent) |
| void | installEventFilter (QObject *filterObj) |
| void | removeEventFilter (QObject *obj) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| void | dumpObjectTree () |
| void | dumpObjectInfo () |
| void | dumpObjectTree () const const |
| void | dumpObjectInfo () const const |
| bool | setProperty (const char *name, const QVariant &value) |
| QVariant | property (const char *name) const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| void | destroyed (QObject *obj) |
| void | objectNameChanged (const QString &objectName) |
| QObject * | parent () const const |
| bool | inherits (const char *className) const const |
| void | deleteLater () |
| Q_DISABLE_COPY (Class) | |
| Q_DISABLE_MOVE (Class) | |
| Q_DISABLE_COPY_MOVE (Class) | |
| T | qobject_cast (QObject *object) |
| T | qobject_cast (const QObject *object) |
| T | qFindChild (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
| Q_CLASSINFO (Name, Value) | |
| Q_INTERFACES (...) | |
| Q_PROPERTY (...) | |
| Q_ENUMS (...) | |
| Q_FLAGS (...) | |
| Q_ENUM (...) | |
| Q_FLAG (...) | |
| Q_ENUM_NS (...) | |
| Q_FLAG_NS (...) | |
| Q_OBJECT Q_OBJECT | |
| Q_GADGET Q_GADGET | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SLOTS Q_SLOTS | |
| Q_SLOT Q_SLOT | |
| Q_EMIT Q_EMIT | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Additional Inherited Members | |
Public Slots inherited from QtRestClient::RestReply | |
| void | abort () |
| Aborts the request by calling QNetworkReply::abort. | |
| void | retry () |
| Tries to make the same request again, and reuses this rest reply. More... | |
| void | retryAfter (std::chrono::milliseconds mSecs) |
| Tries to make the same request again after a delay, and reuses this rest reply. More... | |
| void | setAutoDelete (bool autoDelete) |
| WRITE accessor for RestReply::autoDelete. | |
| void | setAllowEmptyReplies (bool allowEmptyReplies) |
| WRITE accessor for RestReply::allowEmptyReplies. | |
| void | setAsync (bool async) |
| WRITE accessor for RestReply::async. | |
Signals inherited from QtRestClient::RestReply | |
| void | completed (int httpStatus, const DataType &reply, QPrivateSignal) |
| Is emitted when the request completed, i.e. succeeded or failed. | |
| void | succeeded (int httpStatus, const DataType &reply, QPrivateSignal) |
| Is emitted when the request succeeded. | |
| void | failed (int httpStatus, const DataType &reason, QPrivateSignal) |
| Is emitted when the request failed. | |
| void | error (const QString &errorString, int error, Error errorType, QPrivateSignal) |
| Is emitted when a network or json parse error occured. | |
| void | networkError (QNetworkReply::NetworkError error) |
| Forwards QNetworkReply::error(QNetworkReply::NetworkError) | |
| void | sslErrors (const QList< QSslError > &errors, bool &ignoreErrors) |
| Forwards QNetworkReply::sslErrors. | |
| void | downloadProgress (qint64 bytesReceived, qint64 bytesTotal) |
| Forwards QNetworkReply::downloadProgress. | |
| void | uploadProgress (qint64 bytesSent, qint64 bytesTotal) |
| Forwards QNetworkReply::uploadProgress. | |
| void | autoDeleteChanged (bool autoDelete, QPrivateSignal) |
| NOTIFY accessor for RestReply::autoDelete. | |
| void | allowEmptyRepliesChanged (bool allowEmptyReplies, QPrivateSignal) |
| NOTIFY accessor for RestReply::allowEmptyReplies. | |
| void | asyncChanged (bool async, QPrivateSignal) |
| NOTIFY accessor for RestReply::async. | |
Static Public Member Functions inherited from QObject | |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
| QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
Public Attributes inherited from QObject | |
| typedef | QObjectList |
Protected Member Functions inherited from QObject | |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| int | receivers (const char *signal) const const |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| virtual void | timerEvent (QTimerEvent *event) |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | customEvent (QEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
Properties inherited from QtRestClient::RestReply | |
| bool | autoDelete |
| Speciefies, whether the reply should be automatically deleted. More... | |
| bool | allowEmptyReplies |
| Speciefies, whether empty rest replies are allowed. More... | |
| bool | async |
| Specifies, whether the reply should be handled on a threadpool or not. More... | |
Properties inherited from QObject | |
| objectName | |
The base class for GenericRestReply specializations.
Definition at line 24 of file genericrestreply.h.
| GenericRestReplyBase< DataClassType, ErrorClassType >::TInstance * QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::disableAutoDelete | ( | ) |
WRITE accessor for RestReply::autoDelete.
Definition at line 275 of file genericrestreply.h.
| GenericRestReplyBase< DataClassType, ErrorClassType >::TInstance * QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::makeAsync | ( | QThreadPool * | threadPool = QThreadPool::globalInstance() | ) |
WRITE accessor for RestReply::async.
Definition at line 267 of file genericrestreply.h.
| QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::onAllErrors | ( | const std::function< void(QString, int, Error)> & | handler, |
| std::function< QString(ErrorClassType, int)> | failureTransformer = {} |
||
| ) |
Set a handler to be called if the request did not succeed.
| handler | The function to be called on any error |
| failureTransformer | A function to be called to extract an error string from the failure data |
The handlers arguments are:
failureTransformerThe failureTransformer arguments are
Definition at line 217 of file genericrestreply.h.
| QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::onAllErrors | ( | QObject * | scope, |
| const std::function< void(QString, int, Error)> & | handler, | ||
| std::function< QString(ErrorClassType, int)> | failureTransformer = {} |
||
| ) |
Set a handler to be called if the request did not succeed.
| scope | A scope to limit the callback to |
| handler | The function to be called on any error |
| failureTransformer | A function to be called to extract an error string from the failure data |
The handlers arguments are:
failureTransformerThe failureTransformer arguments are
Definition at line 223 of file genericrestreply.h.
| GenericRestReplyBase< DataClassType, ErrorClassType >::TInstance * QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::onCompleted | ( | QObject * | scope, |
| std::function< void(int)> | handler | ||
| ) |
Set a handler to be called when the request was completed, regardless of success or failure.
| scope | (optional) A scope to limit the callback to |
| handler | The function to be called on success |
The handlers can have the following signatures:
(): any(int): any (HTTP status code)(<data>): any (HTTP reply body)(int, <data>): any (HTTP status code, HTTP reply body)(int, RestReply::DataType): any (HTTP status code, HTTP reply body)The <data> part can be any of the following:
<jdata>
<cdata>
std::variant<std::nullopt_t, <cdata>, <jdata>>std::variant<<cdata>, <jdata>>Definition at line 246 of file genericrestreply.h.
| GenericRestReplyBase< DataClassType, ErrorClassType >::TInstance * QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::onCompleted | ( | std::function< void(int)> | handler | ) |
Set a handler to be called when the request was completed, regardless of success or failure.
| handler | The function to be called on success |
The handlers can have the following signatures:
(): any(int): any (HTTP status code)(<data>): any (HTTP reply body)(int, <data>): any (HTTP status code, HTTP reply body)(int, RestReply::DataType): any (HTTP status code, HTTP reply body)The <data> part can be any of the following:
<jdata>
<cdata>
std::variant<std::nullopt_t, <cdata>, <jdata>>std::variant<<cdata>, <jdata>>Definition at line 240 of file genericrestreply.h.
|
virtual |
Set a handler to be called if a network error or json parse error occures.
| scope | A scope to limit the callback to |
| handler | The function to be called on a network/json error |
The handlers arguments are:
Reimplemented in QtRestClient::GenericRestReply< Paging< DataClassType >, ErrorClassType >.
Definition at line 259 of file genericrestreply.h.
| GenericRestReplyBase< DataClassType, ErrorClassType >::TInstance * QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::onError | ( | std::function< void(QString, int, Error)> | handler | ) |
Set a handler to be called if a network error or json parse error occures.
| handler | The function to be called on a network/json error |
The handlers arguments are:
Definition at line 253 of file genericrestreply.h.
|
virtual |
Set a handler to be called if the request failed.
| scope | A scope to limit the callback to |
| handler | The function to be called on failure |
The handlers arguments are:
Reimplemented in QtRestClient::GenericRestReply< Paging< DataClassType >, ErrorClassType >.
Definition at line 188 of file genericrestreply.h.
| QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::onFailed | ( | std::function< void(int, ErrorClassType)> | handler | ) |
Set a handler to be called if the request failed.
| handler | The function to be called on failure |
The handlers arguments are:
Definition at line 182 of file genericrestreply.h.
| QtRestClient::GenericRestReplyBase< DataClassType, ErrorClassType >::onSerializeException | ( | std::function< void(QtJsonSerializer::Exception &)> | handler | ) |
Set a handler to be called on deserialization exceptions.
| handler | The function to be called on an exception |
The handlers arguments are:
Definition at line 210 of file genericrestreply.h.
1.8.16