24 return Component::OnlyExecute;
32 d->evaluateBool =
true;
36 d->listSignature =
true;
59 d->numberOfArgs = qint8(argsAttr.
toInt());
64 d->numberOfCaptures = qint8(capturesAttr.
toInt());
77 return d->attributes.value(
name, defaultValue);
105 return d->numberOfArgs == -1 || d->numberOfArgs == numberOfArgs;
115 return d->numberOfCaptures == -1 || d->numberOfCaptures == numberOfCaptures;
127 return d->numberOfArgs;
133 return d->numberOfCaptures;
145#if (QT_VERSION < QT_VERSION_CHECK(6, 5, 0))
147 if (d->evaluateBool) {
150 if (d->listSignature) {
151 ret = d->method.invoke(d->controller,
153 Q_RETURN_ARG(
bool, methodRet),
159 args.
append(d->emptyArgs);
161 ret = d->method.invoke(d->controller,
163 Q_RETURN_ARG(
bool, methodRet),
187 if (d->listSignature) {
188 ret = d->method.invoke(d->controller,
195 args.
append(d->emptyArgs);
197 ret = d->method.invoke(d->controller,
229 if (d->evaluateBool) {
232 if (d->listSignature) {
233 ret = d->method.invoke(
236 switch (d->method.parameterCount()) {
245 ret = d->method.invoke(
249 ret = d->method.invoke(d->controller,
251 qReturnArg(methodRet),
257 ret = d->method.invoke(d->controller,
259 qReturnArg(methodRet),
266 ret = d->method.invoke(d->controller,
268 qReturnArg(methodRet),
276 ret = d->method.invoke(d->controller,
278 qReturnArg(methodRet),
287 ret = d->method.invoke(d->controller,
289 qReturnArg(methodRet),
299 ret = d->method.invoke(d->controller,
301 qReturnArg(methodRet),
312 ret = d->method.invoke(d->controller,
314 qReturnArg(methodRet),
326 ret = d->method.invoke(d->controller,
328 qReturnArg(methodRet),
354 if (d->listSignature) {
357 switch (d->method.parameterCount()) {
368 ret = d->method.invoke(
372 ret = d->method.invoke(d->controller,
380 ret = d->method.invoke(d->controller,
389 ret = d->method.invoke(d->controller,
399 ret = d->method.invoke(d->controller,
410 ret = d->method.invoke(d->controller,
422 ret = d->method.invoke(d->controller,
435 ret = d->method.invoke(d->controller,
457#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
T value(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