LRT14
1.0
|
Container for routines executing in parallel. More...
#include <Parallel.h>
Public Member Functions | |
Parallel (const char *name, bool queueIfBlocked=false, bool restartable=false) | |
Creates a parallel routine. | |
Parallel (const char *name, std::vector< Automation * > sequence, bool queueIfBlocked=false, bool restartable=false) | |
Creates a parallel routine initialized with a list of routines. | |
virtual bool | Start () |
Starts the task. | |
virtual bool | Abort () |
Aborts the task. | |
virtual bool | Run () |
Runs one cycle of the task. | |
virtual void | AllocateResources () |
Calls AllocateResource() on resources used in by this task. | |
void | AddAutomation (Automation *automation) |
Adds an automation routine to the parallel routines. | |
void | AddAutomation (std::vector< Automation * > automation) |
Adds a list of automation routine to the parallel routines. | |
void | ClearAutomation () |
Clears the list of parallel routines. | |
![]() | |
Automation (const char *name, bool requiresAbortCycles=false, bool queueIfBlocked=false, bool restartable=false) | |
Creates an automation routine. | |
bool | Update () |
Updates the task for one cycle, including calling Run(). | |
bool | StartAutomation (Event *trigger=NULL) |
Tries to start this task. | |
bool | AbortAutomation (Event *trigger=NULL) |
Tries to aborts this task. | |
void | ContinueAutomation (Event *trigger) |
Sets the task to continue. | |
bool | CheckResources () |
Allocates resources used by this task. Checks if this task is blocked. | |
void | DeallocateResources () |
Clears all resources allocated by this task. | |
bool | IsRestartable () |
Gets whether a task can be restarted (started again when already running). | |
bool | QueueIfBlocked () |
Gets whether a task should continue to be started if blocked. | |
bool | RequiresAbortCycles () |
Gets whether a task requires running cycles before aborting. | |
const char * | GetName () |
Gets the name of the automation routine. | |
Additional Inherited Members | |
![]() | |
static bool | GetAllocation (ControlResource::Enum resource) |
Gets the task that allocated a resource. | |
![]() | |
bool | AllocateResource (ControlResource::Enum resource) |
Allocates a resource to be used. | |
bool | Aborting () |
Gets whether this task is aborting (abort event fired and requires abort cycles). | |
bool | Continued () |
Returns whether this task has been continued. | |
Event * | GetStartEvent () |
Returns the event that started this task. | |
Event * | GetAbortEvent () |
Returns the event that aborted this task. | |
Event * | GetContinueEvent () |
Returns the event that continued this task. | |
Container for routines executing in parallel.
Parallel::Parallel | ( | const char * | name, |
bool | queueIfBlocked = false , |
||
bool | restartable = false |
||
) |
Creates a parallel routine.
name | the name of the routine |
queueIfBlocked | whether the routine should be queued if blocked |
restartable | whether the routine can be restarted |
Parallel::Parallel | ( | const char * | name, |
std::vector< Automation * > | sequence, | ||
bool | queueIfBlocked = false , |
||
bool | restartable = false |
||
) |
Creates a parallel routine initialized with a list of routines.
name | the name of the routine |
sequence | the list of routines to initialize the parallel routine with |
queueIfBlocked | whether the routine should be queued if blocked |
restartable | whether the routine can be restarted |
|
virtual |
Aborts the task.
Implements Automation.
void Parallel::AddAutomation | ( | Automation * | automation | ) |
Adds an automation routine to the parallel routines.
automation | the routine to add |
void Parallel::AddAutomation | ( | std::vector< Automation * > | automation | ) |
Adds a list of automation routine to the parallel routines.
automation | the list of routines to add |
|
virtual |
|
virtual |
Starts the task.
Implements Automation.