QtRestClient  3.0.0
A library for generic JSON-based REST-APIs, with a mechanism to map JSON to Qt objects
Public Member Functions | List of all members
QtRestClient::Simple< T *, std::enable_if_t< std::is_base_of_v< QObject, T > > > Class Template Referenceabstract

A base class to create a simply type version for a normal one. QObject* version. More...

#include <simple.h>

+ Inheritance diagram for QtRestClient::Simple< T *, std::enable_if_t< std::is_base_of_v< QObject, T > > >:

Public Member Functions

 Simple (QObject *parent=nullptr)
 Constructor.
 
virtual QUrl extensionHref () const =0
 Returns the link to the extended version of this object. More...
 
bool hasExtension () const
 Returns true, if the object has an extension.
 
bool isExtended () const
 Returns true, if the object has already been extended.
 
T * currentExtended () const
 Returns a reference to the current extension. More...
 
template<typename ET = QObject*>
GenericRestReply< T *, ET > * extend (RestClient *client)
 Performs an extension request and returns the reply to the request. More...
 
template<typename ET = QObject*>
void extend (RestClient *client, std::function< void(T *, bool)> extensionHandler, const std::function< void(QString, int, RestReply::Error)> &errorHandler={}, std::function< QString(ET, int)> failureTransformer={})
 Extends the object by using a handler. More...
 
template<typename ET = QObject*>
void extend (RestClient *client, QObject *scope, std::function< void(T *, bool)> extensionHandler, const std::function< void(QString, int, RestReply::Error)> &errorHandler={}, std::function< QString(ET, int)> failureTransformer={})
 Extends the object by using a handler. More...
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () 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)
 
QThreadthread () 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)
 
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 &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () 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< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 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

- 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
QObjectsender () 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 QObject
 objectName
 

Detailed Description

template<typename T>
class QtRestClient::Simple< T *, std::enable_if_t< std::is_base_of_v< QObject, T > > >

A base class to create a simply type version for a normal one. QObject* version.

Definition at line 22 of file simple.h.

Member Function Documentation

◆ currentExtended()

template<typename T >
T * QtRestClient::Simple< T *, std::enable_if_t< std::is_base_of_v< QObject, T > > >::currentExtended ( ) const

Returns a reference to the current extension.

Returns
The current extension, or nullptr, if not extended

You will have to extend the object, before you can use this. Please note that the simple object does note own it's extension. It's safe to delete it

Definition at line 185 of file simple.h.

◆ extend() [1/3]

template<typename T >
template<typename ET >
GenericRestReply< T *, ET > * QtRestClient::Simple< T *, std::enable_if_t< std::is_base_of_v< QObject, T > > >::extend ( RestClient client)

Performs an extension request and returns the reply to the request.

Parameters
clientThe rest client to be used to create the network request
Returns
The reply, or nullptr if no extension exists

Definition at line 192 of file simple.h.

◆ extend() [2/3]

template<typename T >
template<typename ET >
void QtRestClient::Simple< T *, std::enable_if_t< std::is_base_of_v< QObject, T > > >::extend ( RestClient client,
QObject scope,
std::function< void(T *, bool)>  extensionHandler,
const std::function< void(QString, int, RestReply::Error)> &  errorHandler = {},
std::function< QString(ET, int)>  failureTransformer = {} 
)

Extends the object by using a handler.

Parameters
clientThe rest client to be used to create the network request
scope(optional) A scope to limit the callback to
extensionHandlerThe handler to be called with the extended object
errorHandlerWill be passed to GenericRestReply::onAllErrors
failureTransformerWill be passed to GenericRestReply::onAllErrors

If the object is already extended it will simply be passed to the handler. If not, an internal extension is performed, and the handler called for the result.

The handlers parameters are:

  • The deserialized extended object (T*)
  • The information, whether the object was extended by sending a request (true) or already available (false) (bool)

Definition at line 218 of file simple.h.

◆ extend() [3/3]

template<typename T >
template<typename ET >
void QtRestClient::Simple< T *, std::enable_if_t< std::is_base_of_v< QObject, T > > >::extend ( RestClient client,
std::function< void(T *, bool)>  extensionHandler,
const std::function< void(QString, int, RestReply::Error)> &  errorHandler = {},
std::function< QString(ET, int)>  failureTransformer = {} 
)

Extends the object by using a handler.

Parameters
clientThe rest client to be used to create the network request
extensionHandlerThe handler to be called with the extended object
errorHandlerWill be passed to GenericRestReply::onAllErrors
failureTransformerWill be passed to GenericRestReply::onAllErrors

If the object is already extended it will simply be passed to the handler. If not, an internal extension is performed, and the handler called for the result.

The handlers parameters are:

  • The deserialized extended object (T*)
  • The information, whether the object was extended by sending a request (true) or already available (false) (bool)

Definition at line 207 of file simple.h.

◆ extensionHref()

template<typename T >
virtual QUrl QtRestClient::Simple< T *, std::enable_if_t< std::is_base_of_v< QObject, T > > >::extensionHref ( ) const
pure virtual

Returns the link to the extended version of this object.

See also
QTRESTCLIENT_EXT_HREF_PROP

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