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,
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 doExecute(Context *c) override
QMap< QString, QString > attributes() const
virtual qint8 numberOfCaptures() const
const T & at(int i) const
virtual bool matchCaptures(int numberOfCaptures) const
void detach(Action *action=nullptr)
void setAttributes(const QMap< QString, QString > &attributes)
virtual bool match(int numberOfArgs) const
The Cutelyst Component base class.
This class represents a Cutelyst Action.
Cutelyst Controller base class
void append(const T &value)
int toInt(bool *ok, int base) const
QString attribute(const QString &name, const QString &defaultValue=QString()) const
virtual bool init(Application *application, const QVariantHash &args)
Controller * controller() const
The Cutelyst namespace holds all public Cutelyst API.
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)
void setupAction(const QVariantHash &args, Application *app)
QString fromLatin1(const char *str, int size)
The Cutelyst Application.
void setMethod(const QMetaMethod &method)
virtual qint8 numberOfArgs() const
QString className() const