7#include <Cutelyst/component.h>
8#include <Cutelyst/context.h>
9#include <Cutelyst/cutelyst_export.h>
11#include <QtCore/QMetaMethod>
12#include <QtCore/QStringList>
51 virtual Modifiers
modifiers()
const override;
78 [[nodiscard]]
QString className() const noexcept;
83 [[nodiscard]]
Controller *controller() const noexcept;
94 [[nodiscard]]
virtual bool match(
int numberOfArgs)
const noexcept;
106 [[nodiscard]]
virtual bool matchCaptures(
int numberOfCaptures)
const noexcept;
111 [[nodiscard]]
QString ns() const noexcept;
118 [[nodiscard]] virtual qint8 numberOfArgs() const;
124 [[nodiscard]] virtual qint8 numberOfCaptures() const;
128 friend class ControllerPrivate;
134 explicit
Action(ActionPrivate *ptr,
QObject *parent =
nullptr);
139 bool doExecute(
Context *c) override;
154 void setupAction(const QVariantHash &args,
Application *app);
This class represents a Cutelyst Action.
bool dispatch(Context *c)
Action(QObject *parent=nullptr)
virtual Modifiers modifiers() const override
ParamsMultiMap attributes() const noexcept
virtual ~Action() override=default
QString attribute(const QString &name, const QString &defaultValue={}) const
The Cutelyst application.
Component(QObject *parent=nullptr)
QString name() const noexcept
Cutelyst Controller base class.
QMultiMap< QString, QString > ParamsMultiMap
The Cutelyst namespace holds all public Cutelyst API.
QVector< Action * > ActionList
QObject * parent() const const