5 #include "actionchain_p.h" 13 :
Action(new ActionChainPrivate, parent)
18 const Action *
final = d->chain.last();
21 args.insert(u
"namespace"_s, final->ns());
31 if ( action->numberOfCaptures() > 0) {
32 d->captures += action->numberOfCaptures();
58 int &actionRefCount = c->d_ptr->actionRefCount;
59 int &captured = c->d_ptr->chainedCaptured;
60 int &chainedIx = c->d_ptr->chainedIx;
62 for (; chainedIx < localChain.
size(); ++chainedIx) {
64 c->d_ptr->pendingAsync.prepend(
this);
69 Action *action = localChain.
at(chainedIx);
73 args.
append(captures.
at(captured++));
86 #include "moc_actionchain.cpp" void setName(const QString &name)
bool dispatch(Context *c)
void setReverse(const QString &reverse)
virtual qint8 numberOfCaptures() const
qint8 numberOfCaptures() const noexcept override
const_reference at(qsizetype i) const const
Holds a chain of Cutelyst actions.
qsizetype size() const const
This class represents a Cutelyst Action.
bool doExecute(Context *c) override
ActionList chain() const noexcept
void setAttributes(const ParamsMultiMap &attributes)
The Cutelyst namespace holds all public Cutelyst API.
void setArguments(const QStringList &arguments)
void setController(Controller *controller)
QStringList captures() const noexcept
void append(QList< T > &&value)
void setupAction(const QVariantHash &args, Application *app)
ActionChain(const ActionList &chain, QObject *parent=nullptr)