2020-08-18 13:09:15 +02:00
|
|
|
#ifndef FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_
|
|
|
|
#define FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_
|
|
|
|
|
|
|
|
#include "../objectmanager/ObjectManagerIF.h"
|
|
|
|
#include "../tasks/PeriodicTaskIF.h"
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Following the same principle as the base class IF.
|
|
|
|
* This is the interface for a Fixed timeslot task
|
|
|
|
*/
|
|
|
|
class FixedTimeslotTaskIF : public PeriodicTaskIF {
|
|
|
|
public:
|
|
|
|
virtual ~FixedTimeslotTaskIF() {}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Add an object with a slot time and the execution step to the task.
|
|
|
|
* The execution step shall be passed to the object.
|
|
|
|
* @param componentId
|
|
|
|
* @param slotTimeMs
|
|
|
|
* @param executionStep
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
virtual ReturnValue_t addSlot(object_id_t componentId,
|
|
|
|
uint32_t slotTimeMs, int8_t executionStep) = 0;
|
2020-08-24 22:08:27 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Check whether the sequence is valid and perform all other required
|
|
|
|
* initialization steps which are needed after task creation
|
|
|
|
*/
|
|
|
|
virtual ReturnValue_t checkAndInitializeSequence() const = 0;
|
2020-08-18 13:09:15 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_ */
|