added task handle member

This commit is contained in:
Robin Müller 2020-06-29 16:06:53 +02:00
parent 003e70bf47
commit ae6314d8cd
2 changed files with 24 additions and 4 deletions

View File

@ -32,6 +32,10 @@ ReturnValue_t PusServiceBase::performOperation(uint8_t opCode) {
return RETURN_OK; return RETURN_OK;
} }
void PusServiceBase::setTaskIF(PeriodicTaskIF* taskHandle) {
this->taskHandle = taskHandle;
}
void PusServiceBase::handleRequestQueue() { void PusServiceBase::handleRequestQueue() {
TmTcMessage message; TmTcMessage message;
ReturnValue_t result = RETURN_FAILED; ReturnValue_t result = RETURN_FAILED;
@ -108,3 +112,10 @@ ReturnValue_t PusServiceBase::initialize() {
return RETURN_FAILED; return RETURN_FAILED;
} }
} }
ReturnValue_t PusServiceBase::initializeAfterTaskCreation() {
// If task parameters, for example task frequency are required, this
// function should be overriden and the system object task IF can
// be used to get those parameters.
return HasReturnvaluesIF::RETURN_OK;
}

View File

@ -96,11 +96,20 @@ public:
* @return @c RETURN_OK if the periodic performService was successful. * @return @c RETURN_OK if the periodic performService was successful.
* @c RETURN_FAILED else. * @c RETURN_FAILED else.
*/ */
ReturnValue_t performOperation(uint8_t opCode); ReturnValue_t performOperation(uint8_t opCode) override;
virtual uint16_t getIdentifier(); virtual uint16_t getIdentifier() override;
MessageQueueId_t getRequestQueue(); MessageQueueId_t getRequestQueue() override;
virtual ReturnValue_t initialize(); virtual ReturnValue_t initialize() override;
virtual void setTaskIF(PeriodicTaskIF* taskHandle) override;
virtual ReturnValue_t initializeAfterTaskCreation() override;
protected: protected:
/**
* @brief Handle to the underlying task
* @details
* Will be set by setTaskIF(), which is called on task creation.
*/
PeriodicTaskIF* taskHandle = nullptr;
/** /**
* The APID of this instance of the Service. * The APID of this instance of the Service.
*/ */