cutelyst
4.5.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
Sensible default end action that forwards to a View. More...
Public Member Functions | |
RenderView (QObject *parent=nullptr) | |
bool | init (Application *application, const QVariantHash &args) override |
Public Member Functions inherited from Cutelyst::Action | |
Action (QObject *parent=nullptr) | |
virtual | ~Action () override=default |
QString | attribute (const QString &name, const QString &defaultValue={}) const |
ParamsMultiMap | attributes () const noexcept |
QString | className () const noexcept |
Controller * | controller () const noexcept |
bool | dispatch (Context *c) |
virtual bool | match (int numberOfArgs) const noexcept |
virtual bool | matchCaptures (int numberOfCaptures) const noexcept |
virtual Modifiers | modifiers () const override |
QString | ns () const noexcept |
virtual qint8 | numberOfArgs () const |
virtual qint8 | numberOfCaptures () const |
void | setAttributes (const ParamsMultiMap &attributes) |
Public Member Functions inherited from Cutelyst::Component | |
Component (QObject *parent=nullptr) | |
virtual | ~Component () override |
bool | execute (Context *c) |
QString | name () const noexcept |
QString | reverse () const noexcept |
void | setName (const QString &name) |
void | setReverse (const QString &reverse) |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QBindable< QString > | bindableObjectName () |
bool | blockSignals (bool block) |
const QObjectList & | children () const const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectInfo () const const |
void | dumpObjectTree () const const |
QList< QByteArray > | dynamicPropertyNames () const const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (Qt::FindChildOptions options) const const |
bool | inherits (const char *className) const const |
void | installEventFilter (QObject *filterObj) |
bool | isQuickItemType () const const |
bool | isWidgetType () const const |
bool | isWindowType () const const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
QVariant | property (const char *name) const const |
Q_CLASSINFO (Name, Value) | |
Q_EMIT Q_EMIT | |
Q_ENUM (...) | |
Q_ENUM_NS (...) | |
Q_ENUMS (...) | |
Q_FLAG (...) | |
Q_FLAG_NS (...) | |
Q_FLAGS (...) | |
Q_GADGET Q_GADGET | |
Q_GADGET_EXPORT (EXPORT_MACRO) | |
Q_INTERFACES (...) | |
Q_INVOKABLE Q_INVOKABLE | |
Q_MOC_INCLUDE Q_MOC_INCLUDE | |
Q_NAMESPACE Q_NAMESPACE | |
Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
Q_OBJECT Q_OBJECT | |
Q_PROPERTY (...) | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
Q_SIGNAL Q_SIGNAL | |
Q_SIGNALS Q_SIGNALS | |
Q_SLOT Q_SLOT | |
Q_SLOTS Q_SLOTS | |
T | qobject_cast (const QObject *object) |
T | qobject_cast (QObject *object) |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
void | removeEventFilter (QObject *obj) |
void | setObjectName (const QString &name) |
void | setObjectName (QAnyStringView name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | setProperty (const char *name, QVariant &&value) |
bool | signalsBlocked () const const |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType) |
QThread * | thread () const const |
Protected Member Functions | |
bool | doExecute (Cutelyst::Context *c) override |
Protected Member Functions inherited from Cutelyst::Action | |
Action (ActionPrivate *ptr, QObject *parent=nullptr) | |
void | setController (Controller *controller) |
void | setMethod (const QMetaMethod &method) |
void | setupAction (const QVariantHash &args, Application *app) |
Protected Member Functions inherited from Cutelyst::Component | |
Component (ComponentPrivate *d, QObject *parent=nullptr) | |
virtual bool | afterExecute (Context *c) |
void | applyRoles (const QStack< Component * > &roles) |
virtual bool | aroundExecute (Context *c, QStack< Component * > stack) |
virtual bool | beforeExecute (Context *c) |
virtual bool | dispatcherReady (const Dispatcher *dispatch, Controller *controller) |
Protected Member Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Additional Inherited Members | |
Public Types inherited from Cutelyst::Component | |
enum | Modifier { None , OnlyExecute , BeforeExecute , AroundExecute , AfterExecute } |
Static Public Member Functions inherited from QObject | |
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 *context, Functor functor, 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) |
bool | disconnect (const QMetaObject::Connection &connection) |
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 QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
Public Attributes inherited from QObject | |
typedef | QObjectList |
Properties inherited from QObject | |
objectName | |
This action implements a sensible default end action, which will forward to the first available View or a custom one, unless c->res()->status() is a 3xx code (redirection, not modified, etc.), 204 (no content), HEAD methods, or c->res()->body() has already been set.
If you have more than one view, you can specify which one to use with the :View(name)
attribute or one set with c->setCustomView() otherwise this module simply calls c->view() with no argument what will return the default View.
The RenderView action allows to easily call a renderer without including it’s header and add implementation code, all that is needed is an annotation to the Controller’s method:
The above will render with the default view added to Cutelyst::Application without a name, if you want it to render with another view just add the View(name) keyword:
Definition at line 14 of file renderview.h.
|
explicit |
Constructs a RenderView object with the given parent.
Definition at line 58 of file renderview.cpp.
References Cutelyst::Action::className(), QString::fromLatin1(), QObject::metaObject(), and QObject::setObjectName().
|
overrideprotectedvirtual |
This will forward execution to either a custom view or to a view set as method attribute via :View(name)
or to the default view.
If the Content-Type
header of the Response has not been already set, it will be set to 'text/html; charset=utf-8'
.
If the Request is a HEAD request or if the Response::body() has already been set, this will do nothing and will return true
. The same is true for when the Response::status() has already been set to 204 (no content) or 3xx.
Reimplemented from Cutelyst::Action.
Definition at line 74 of file renderview.cpp.
References Cutelyst::Response::contentType(), Cutelyst::Context::customView(), Cutelyst::Action::doExecute(), Cutelyst::Context::forward(), Cutelyst::Response::hasBody(), QByteArray::isEmpty(), Cutelyst::Request::isHead(), Cutelyst::Context::req, Cutelyst::Context::res(), Cutelyst::Response::setContentType(), Cutelyst::Response::setStatus(), and Cutelyst::Response::status().
|
overridevirtual |
Initializes the RenderView action by looking for a view name in the method attributes. The default view will be used if no :View(name)
has been declard on the method attributes.
Reimplemented from Cutelyst::Component.
Definition at line 64 of file renderview.cpp.
References Cutelyst::Action::attributes(), Cutelyst::Component::init(), QMultiMap::value(), and Cutelyst::Application::view().