diff --git a/src/fsfw/controller/ExtendedControllerBase.cpp b/src/fsfw/controller/ExtendedControllerBase.cpp index 5057aac2..e45c5e07 100644 --- a/src/fsfw/controller/ExtendedControllerBase.cpp +++ b/src/fsfw/controller/ExtendedControllerBase.cpp @@ -8,9 +8,12 @@ ExtendedControllerBase::ExtendedControllerBase(object_id_t objectId, object_id_t ExtendedControllerBase::~ExtendedControllerBase() {} +ActionHelper *ExtendedControllerBase::getActionHelper() { + return &actionHelper; +} + ReturnValue_t ExtendedControllerBase::executeAction(Action *action) { - /* Needs to be overriden and implemented by child class. */ - return HasReturnvaluesIF::RETURN_OK; + return action->handle(); } object_id_t ExtendedControllerBase::getObjectId() const { return SystemObject::getObjectId(); } diff --git a/src/fsfw/controller/ExtendedControllerBase.h b/src/fsfw/controller/ExtendedControllerBase.h index f1ed0e9f..17d193a3 100644 --- a/src/fsfw/controller/ExtendedControllerBase.h +++ b/src/fsfw/controller/ExtendedControllerBase.h @@ -29,6 +29,10 @@ class ExtendedControllerBase : public ControllerBase, virtual ReturnValue_t performOperation(uint8_t opCode) override; virtual ReturnValue_t initializeAfterTaskCreation() override; + /* HasActionsIF overrides */ + ActionHelper* getActionHelper() override; + ReturnValue_t executeAction(Action* actionId) override; + protected: LocalDataPoolManager poolManager; ActionHelper actionHelper; @@ -49,9 +53,6 @@ class ExtendedControllerBase : public ControllerBase, /* Handle the four messages mentioned above */ void handleQueue() override; - /* HasActionsIF overrides */ - virtual ReturnValue_t executeAction(Action* actionId) override; - /* HasLocalDatapoolIF overrides */ virtual LocalDataPoolManager* getHkManagerHandle() override; virtual object_id_t getObjectId() const override;