8 #include "controller.h" 25 return Component::OnlyExecute;
33 d->evaluateBool =
true;
37 d->listSignature =
true;
53 d->ns = args.value(u
"namespace"_s).toString();
60 d->numberOfArgs = qint8(argsAttr.
toInt());
65 d->numberOfCaptures = qint8(capturesAttr.
toInt());
78 return d->attributes.value(
name, defaultValue);
90 return d->controller->objectName();
106 return d->numberOfArgs == -1 || d->numberOfArgs == numberOfArgs;
116 return d->numberOfCaptures == -1 || d->numberOfCaptures == numberOfCaptures;
128 return d->numberOfArgs;
134 return d->numberOfCaptures;
146 #if (QT_VERSION < QT_VERSION_CHECK(6, 5, 0)) 148 if (d->evaluateBool) {
151 if (d->listSignature) {
153 ret = d->method.invoke(d->controller,
155 Q_RETURN_ARG(
bool, methodRet),
162 args.
append(d->emptyArgs);
165 ret = d->method.invoke(d->controller,
167 Q_RETURN_ARG(
bool, methodRet),
192 if (d->listSignature) {
194 ret = d->method.invoke(d->controller,
202 args.
append(d->emptyArgs);
205 ret = d->method.invoke(d->controller,
238 if (d->evaluateBool) {
241 if (d->listSignature) {
242 ret = d->method.invoke(
245 switch (d->method.parameterCount()) {
254 ret = d->method.invoke(
258 ret = d->method.invoke(d->controller,
260 qReturnArg(methodRet),
266 ret = d->method.invoke(d->controller,
268 qReturnArg(methodRet),
275 ret = d->method.invoke(d->controller,
277 qReturnArg(methodRet),
285 ret = d->method.invoke(d->controller,
287 qReturnArg(methodRet),
296 ret = d->method.invoke(d->controller,
298 qReturnArg(methodRet),
308 ret = d->method.invoke(d->controller,
310 qReturnArg(methodRet),
321 ret = d->method.invoke(d->controller,
323 qReturnArg(methodRet),
335 ret = d->method.invoke(d->controller,
337 qReturnArg(methodRet),
363 if (d->listSignature) {
366 switch (d->method.parameterCount()) {
377 ret = d->method.invoke(
381 ret = d->method.invoke(d->controller,
389 ret = d->method.invoke(d->controller,
398 ret = d->method.invoke(d->controller,
408 ret = d->method.invoke(d->controller,
419 ret = d->method.invoke(d->controller,
431 ret = d->method.invoke(d->controller,
444 ret = d->method.invoke(d->controller,
466 #include "moc_action.cpp" Controller * controller() const noexcept
ParamsMultiMap attributes() const noexcept
bool doExecute(Context *c) override
virtual qint8 numberOfCaptures() const
const_reference at(qsizetype i) const const
void detach(Action *action=nullptr)
The Cutelyst Component base class.
virtual bool matchCaptures(int numberOfCaptures) const noexcept
This class represents a Cutelyst Action.
T value(qsizetype i) const const
Cutelyst Controller base class.
bool detached() const noexcept
void setAttributes(const ParamsMultiMap &attributes)
int toInt(bool *ok, int base) const const
bool isEmpty() const const
QString name() const noexcept
virtual bool init(Application *application, const QVariantHash &args)
The Cutelyst namespace holds all public Cutelyst API.
Action(QObject *parent=nullptr)
QString ns() const noexcept
virtual Modifiers modifiers() const override
void setController(Controller *controller)
void append(QList< T > &&value)
void setupAction(const QVariantHash &args, Application *app)
virtual bool match(int numberOfArgs) const noexcept
The Cutelyst application.
void setMethod(const QMetaMethod &method)
void setState(bool state) noexcept
virtual qint8 numberOfArgs() const
QString attribute(const QString &name, const QString &defaultValue={}) const
QString className() const noexcept
T value(const Key &key, const T &defaultValue) const const