19 #include "controller.h"
35 return Component::OnlyExecute;
43 d->evaluateBool =
true;
47 d->listSignature =
true;
70 d->numberOfArgs = qint8(argsAttr.
toInt());
75 d->numberOfCaptures = qint8(capturesAttr.
toInt());
88 return d->attributes.value(
name, defaultValue);
106 return d->controller;
116 return d->numberOfArgs == -1 || d->numberOfArgs == numberOfArgs;
126 return d->numberOfCaptures == -1 || d->numberOfCaptures == numberOfCaptures;
138 return d->numberOfArgs;
144 return d->numberOfCaptures;
155 if (d->evaluateBool) {
158 if (d->listSignature) {
159 ret = d->method.invoke(d->controller,
161 Q_RETURN_ARG(
bool, methodRet),
167 args.
append(d->emptyArgs);
169 ret = d->method.invoke(d->controller,
171 Q_RETURN_ARG(
bool, methodRet),
195 if (d->listSignature) {
196 ret = d->method.invoke(d->controller,
203 args.
append(d->emptyArgs);
205 ret = d->method.invoke(d->controller,
223 #include "moc_action.cpp"
This class represents a Cutelyst Action.
void setAttributes(const ParamsMultiMap &attributes)
void setupAction(const QVariantHash &args, Application *app)
virtual qint8 numberOfArgs() const noexcept
QString ns() const noexcept
virtual bool doExecute(Context *c) override
virtual qint8 numberOfCaptures() const noexcept
QString className() const
virtual bool match(int numberOfArgs) const noexcept
void setMethod(const QMetaMethod &method)
Action(QObject *parent=nullptr)
virtual Modifiers modifiers() const override
virtual bool matchCaptures(int numberOfCaptures) const noexcept
ParamsMultiMap attributes() const noexcept
void setController(Controller *controller)
Controller * controller() const
QString attribute(const QString &name, const QString &defaultValue={}) const
The Cutelyst Application.
The Cutelyst Component base class.
virtual bool init(Application *application, const QVariantHash &args)
void detach(Action *action=nullptr)
void setState(bool state) noexcept
Sets the state of the current executed action, setting to false will make the dispatcher skip non pro...
bool detached() const noexcept
Cutelyst Controller base class
The Cutelyst namespace holds all public Cutelyst API.
void append(const T &value)
const T & at(int i) const const
const T value(const Key &key, const T &defaultValue) const const
QString fromLatin1(const char *str, int size)
bool isEmpty() const const
int toInt(bool *ok, int base) const const