1/// @brief Task dependency requirement
3/// @defgroup taskrequires_task Task Dependencies
4/// @ingroup taskrequires
7/// TaskRequiresTask creates a dependency on another task completing.
8/// The dependent task will not run until the required task reaches a final state
9/// (TASK_Succeeded or TASK_Failed).
11/// If failok is false, the dependent task will fail if the required task fails.
12/// If failok is true (soft dependency), the dependent task can run even if the
13/// required task fails (useful with TASK_Soft_Requires flag).
14#include "taskrequires.cxh"
15#include <cx/taskqueue/task/task.cxh>
17/// Dependency on another task completing.
18class TaskRequiresTask extends TaskRequires {
19 object:Task task; ///< Task that must complete
20 bool failok; ///< If true, allow dependent task to run even if this task fails
22 /// Create a task dependency requirement.
23 /// @param deptask Task that must complete before dependent task can run
24 /// @param failok If true, allow dependent task to run even if deptask fails (soft dependency)
25 /// @return New TaskRequiresTask instance
26 factory create([in] Task *deptask, bool failok);