19 #include "controller.h"
23 using namespace Cutelyst;
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,
160 Qt::DirectConnection,
161 Q_RETURN_ARG(
bool, methodRet),
167 args.
append(d->emptyArgs);
169 ret = d->method.invoke(d->controller,
170 Qt::DirectConnection,
171 Q_RETURN_ARG(
bool, methodRet),
195 if (d->listSignature) {
196 ret = d->method.invoke(d->controller,
197 Qt::DirectConnection,
203 args.
append(d->emptyArgs);
205 ret = d->method.invoke(d->controller,
206 Qt::DirectConnection,
223 #include "moc_action.cpp"
virtual bool matchCaptures(int numberOfCaptures) const
virtual bool doExecute(Context *c) override
const T & at(int i) const
Controller * controller() const
void detach(Action *action=nullptr)
virtual qint8 numberOfArgs() const
void setAttributes(const QMap< QString, QString > &attributes)
The Cutelyst Component base class.
This class represents a Cutelyst Action.
virtual bool match(int numberOfArgs) const
Cutelyst Controller base class
void append(const T &value)
int toInt(bool *ok, int base) const
virtual bool init(Application *application, const QVariantHash &args)
void setState(bool state)
Sets the state of the current executed action, setting to false will make the dispatcher skip non pro...
Action(QObject *parent=nullptr)
virtual Modifiers modifiers() const override
void setController(Controller *controller)
QMap< QString, QString > attributes() const
virtual qint8 numberOfCaptures() const
void setupAction(const QVariantHash &args, Application *app)
QString fromLatin1(const char *str, int size)
The Cutelyst Application.
void setMethod(const QMetaMethod &method)
QString attribute(const QString &name, const QString &defaultValue=QString()) const
QString className() const