#ifndef MISSION_DEMO_FSFWPERIODICTASK_H_
#define MISSION_DEMO_FSFWPERIODICTASK_H_

#include "testdefinitions/demoDefinitions.h"

#include <fsfw/globalfunctions/PeriodicOperationDivider.h>
#include <fsfw/tasks/ExecutableObjectIF.h>
#include <fsfw/objectmanager/SystemObject.h>

class FsfwReaderTask: public ExecutableObjectIF, public SystemObject {
public:
    FsfwReaderTask(object_id_t objectId, bool enablePrintout);
    virtual ~FsfwReaderTask();

    ReturnValue_t initializeAfterTaskCreation() override;
    virtual ReturnValue_t performOperation(uint8_t operationCode = 0);

private:
    bool printoutEnabled = false;
    PeriodicOperationDivider opDivider;
    CompleteDemoReadSet readSet;
};

#endif /* MISSION_DEMO_FSFWPERIODICTASK_H_ */