5#ifndef CUTELYST_ACTION_H
6#define CUTELYST_ACTION_H
8#include <Cutelyst/component.h>
9#include <Cutelyst/context.h>
10#include <Cutelyst/cutelyst_global.h>
12#include <QtCore/QMetaMethod>
13#include <QtCore/QStringList>
42 virtual ~Action()
override =
default;
44 virtual Modifiers
modifiers()
const override;
87 virtual bool match(
int numberOfArgs)
const noexcept;
99 virtual bool matchCaptures(
int numberOfCaptures)
const noexcept;
111 virtual qint8 numberOfArgs() const noexcept;
117 virtual qint8 numberOfCaptures() const noexcept;
121 friend class ControllerPrivate;
127 explicit
Action(ActionPrivate *ptr,
QObject *parent =
nullptr);
132 virtual
bool doExecute(
Context *c) override;
147 void setupAction(const QVariantHash &args,
Application *app);
This class represents a Cutelyst Action.
void setAttributes(const ParamsMultiMap &attributes)
bool dispatch(Context *c)
QString className() const
Action(QObject *parent=nullptr)
virtual Modifiers modifiers() const override
ParamsMultiMap attributes() const noexcept
Controller * controller() const
QString attribute(const QString &name, const QString &defaultValue={}) const
The Cutelyst Application.
Component(QObject *parent=nullptr)
bool execute(Component *code)
Cutelyst Controller base class
The Cutelyst namespace holds all public Cutelyst API.
QMultiMap< QString, QString > ParamsMultiMap
QVector< Action * > ActionList
QObject * parent() const const