6 #include "controller.h"
22 return Component::OnlyExecute;
30 d->evaluateBool =
true;
34 d->listSignature =
true;
57 d->numberOfArgs = qint8(argsAttr.
toInt());
62 d->numberOfCaptures = qint8(capturesAttr.
toInt());
75 return d->attributes.value(
name, defaultValue);
103 return d->numberOfArgs == -1 || d->numberOfArgs == numberOfArgs;
113 return d->numberOfCaptures == -1 || d->numberOfCaptures == numberOfCaptures;
125 return d->numberOfArgs;
131 return d->numberOfCaptures;
142 if (d->evaluateBool) {
145 if (d->listSignature) {
146 ret = d->method.invoke(d->controller,
148 Q_RETURN_ARG(
bool, methodRet),
154 args.
append(d->emptyArgs);
156 ret = d->method.invoke(d->controller,
158 Q_RETURN_ARG(
bool, methodRet),
182 if (d->listSignature) {
183 ret = d->method.invoke(d->controller,
190 args.
append(d->emptyArgs);
192 ret = d->method.invoke(d->controller,
210 #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