|
CX Framework
Cross-platform C utility framework
|
Multiphase task with internal state machine. More...
Go to the source code of this file.
Data Structures | |
| struct | MultiphaseTask |
| Multiphase task with internal state machine for sequential execution phases. More... | |
Macros | |
| #define | mptaskAddPhases(self, parr) mptask_addPhases(self, sizeof(parr) / sizeof((parr)[0]), (parr), false) |
| #define | mptaskAddFailPhases(self, parr) mptask_addPhases(self, sizeof(parr) / sizeof((parr)[0]), (parr), true) |
| #define | mptask_addPhases(self, num, parr, fail) MultiphaseTask__addPhases(MultiphaseTask(self), num, parr, fail) |
| #define | mptaskRequireTask(self, dep, failok) ComplexTask_requireTask(ComplexTask(self), Task(dep), failok) |
| #define | mptaskRequireTaskTimeout(self, dep, failok, timeout) ComplexTask_requireTaskTimeout(ComplexTask(self), Task(dep), failok, timeout) |
| #define | mptaskRequireResource(self, res) ComplexTask_requireResource(ComplexTask(self), TaskResource(res)) |
| #define | mptaskRequireResourceTimeout(self, res, timeout) ComplexTask_requireResourceTimeout(ComplexTask(self), TaskResource(res), timeout) |
| #define | mptaskRequireGate(self, gate) ComplexTask_requireGate(ComplexTask(self), TRGate(gate)) |
| #define | mptaskRequireGateTimeout(self, gate, timeout) ComplexTask_requireGateTimeout(ComplexTask(self), TRGate(gate), timeout) |
| #define | mptaskRequire(self, req) ComplexTask_require(ComplexTask(self), TaskRequires(req)) |
| #define | mptaskAdvance(self) ComplexTask_advance(ComplexTask(self)) |
| #define | mptaskCheckRequires(self, updateProgress, expires) ComplexTask_checkRequires(ComplexTask(self), updateProgress, expires) |
| #define | mptaskCancelRequires(self) ComplexTask_cancelRequires(ComplexTask(self)) |
| #define | mptaskAcquireRequires(self, acquired) ComplexTask_acquireRequires(ComplexTask(self), acquired) |
| #define | mptaskReleaseRequires(self, resources) ComplexTask_releaseRequires(ComplexTask(self), resources) |
| #define | mptaskRunCancelled(self, tq, worker) (self)->_->runCancelled(MultiphaseTask(self), TaskQueue(tq), TQWorker(worker)) |
| #define | mptaskWait(self, timeout) (self)->_->wait(MultiphaseTask(self), timeout) |
| #define | mptaskFinish(self, result, tcon) (self)->_->finish(MultiphaseTask(self), result, tcon) |
Typedefs | |
| typedef struct MultiphaseTask | MultiphaseTask |
| Multiphase task with internal state machine for sequential execution phases. | |
| typedef uint32(* | MPTPhaseFunc) (void *self, TaskQueue *tq, TQWorker *worker, TaskControl *tcon) |
Enumerations | |
| enum | MultiphaseTaskFlagsEnum { MPTASK_Greedy = 0x10 } |
| Flags controlling MultiphaseTask behavior. More... | |
Multiphase task with internal state machine.
Definition in file mptask.h.