#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; /** * 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; }; #endif /* FRAMEWORK_TASKS_FIXEDTIMESLOTTASKIF_H_ */