QMappedTaskTreeRunner Class
template <typename Key> class QMappedTaskTreeRunnerA mapped task tree execution controller with a given Key type. More...
Header: | #include <qtasktreerunner.h> |
Inherits: | QAbstractTaskTreeRunner |
Public Functions
QMappedTaskTreeRunner(QObject *parent = nullptr) | |
virtual | ~QMappedTaskTreeRunner() |
void | cancelKey(const Key &key) |
bool | isKeyRunning(const Key &key) const |
void | resetKey(const Key &key) |
void | start(const Key &key, const QtTaskTree::Group &recipe, SetupHandler &&setupHandler = {}, DoneHandler &&doneHandler = {}, QtTaskTree::CallDoneFlags callDone = QtTaskTree::CallDone::Always) |
Reimplemented Public Functions
virtual void | cancel() override |
virtual bool | isRunning() const override |
virtual void | reset() override |
Detailed Description
Manages mapped task tree execution using Key
type. Use the start() method to execute a recipe for a given key unconditionally, resetting a possibly running task tree with the same key, and keeping other possibly running task trees with different keys in parallel.
Member Function Documentation
QMappedTaskTreeRunner::QMappedTaskTreeRunner(QObject *parent = nullptr)
Constructs a mapped task tree runner for the given parent. The Key
type is used for task tree mapping.
[virtual]
QMappedTaskTreeRunner::~QMappedTaskTreeRunner()
Destroys the mapped task tree runner. All running task trees are deleted. No task trees' done handlers are called nor done() signals are emitted.
See also ~QTaskTree().
[override virtual]
void QMappedTaskTreeRunner::cancel()
Reimplements: QAbstractTaskTreeRunner::cancel().
Cancels all running task trees. Calls task trees' done handlers and emits done() signals with DoneWith::Cancel. The order of task trees' cancellation is random.
void QMappedTaskTreeRunner::cancelKey(const Key &key)
Cancels a potentially running task tree that was started with the key. Calls task tree's done handler and emits done() signal with DoneWith::Cancel.
bool QMappedTaskTreeRunner::isKeyRunning(const Key &key) const
Returns whether the mapped task tree runner is currently executing a task tree that was started with the key.
[override virtual]
bool QMappedTaskTreeRunner::isRunning() const
Reimplements: QAbstractTaskTreeRunner::isRunning() const.
Returns whether the mapped task tree runner is currently executing at least one task tree.
[override virtual]
void QMappedTaskTreeRunner::reset()
Reimplements: QAbstractTaskTreeRunner::reset().
Resets all running task trees. No task trees' done handlers are called nor done() signals are emitted.
void QMappedTaskTreeRunner::resetKey(const Key &key)
Resets a potentially running task tree that was started with the key. No task tree's done handlers is called nor done() signal is emitted.
template <typename SetupHandler = QAbstractTaskTreeRunner::TreeSetupHandler, typename DoneHandler = QAbstractTaskTreeRunner::TreeDoneHandler> void QMappedTaskTreeRunner::start(const Key &key, const QtTaskTree::Group &recipe, SetupHandler &&setupHandler = {}, DoneHandler &&doneHandler = {}, QtTaskTree::CallDoneFlags callDone = QtTaskTree::CallDone::Always)
Starts the recipe for a given key unconditionally, resetting any possibly running task tree with the same key, and keeping other possibly running task trees with different keys in parallel. Calls setupHandler when new task tree is about to be started. Calls doneHandler when the task tree is finished. The doneHandler is called according to the passed callDone.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.