7#include <Cutelyst/component.h>
8#include <Cutelyst/context.h>
9#include <Cutelyst/cutelyst_export.h>
11#include <QtCore/QMetaMethod>
12#include <QtCore/QStringList>
41 explicit Action(QObject *parent =
nullptr);
51 virtual Modifiers modifiers()
const override;
67 [[nodiscard]] QString attribute(const QString &name, const QString &defaultValue = {})
const;
78 [[nodiscard]] QString className() const noexcept;
83 [[nodiscard]]
Controller *controller() const noexcept;
88 inline
bool dispatch(
Context *c) {
return c->execute(
this); }
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;
144 void setMethod(const QMetaMethod &method);
154 void setupAction(const QVariantHash &args,
Application *app);
This class represents a Cutelyst Action.
virtual ~Action() override=default
The Cutelyst application.
The Cutelyst Component base class.
Cutelyst Controller base class.
QMultiMap< QString, QString > ParamsMultiMap
The Cutelyst namespace holds all public Cutelyst API.
QVector< Action * > ActionList