fsfw/src/fsfw/parameters/ParameterHelper.h

37 lines
1.0 KiB
C
Raw Permalink Normal View History

2020-08-28 18:46:47 +02:00
#ifndef FSFW_PARAMETERS_PARAMETERHELPER_H_
#define FSFW_PARAMETERS_PARAMETERHELPER_H_
2022-02-02 10:29:30 +01:00
#include "../ipc/MessageQueueIF.h"
2020-08-13 20:53:35 +02:00
#include "ParameterMessage.h"
#include "ReceivesParameterMessagesIF.h"
2020-08-28 18:46:47 +02:00
/**
* @brief Helper class to handle parameter messages.
* @details
* This class simplfies handling of parameter messages, which are sent
* to a class which implements ReceivesParameterMessagesIF.
*/
class ParameterHelper {
2022-02-02 10:29:30 +01:00
public:
ParameterHelper(ReceivesParameterMessagesIF *owner);
virtual ~ParameterHelper();
ReturnValue_t handleParameterMessage(CommandMessage *message);
2022-02-02 10:29:30 +01:00
ReturnValue_t initialize();
2022-02-02 10:29:30 +01:00
private:
ReceivesParameterMessagesIF *owner;
2022-02-02 10:29:30 +01:00
MessageQueueId_t ownerQueueId = MessageQueueIF::NO_QUEUE;
2022-02-02 10:29:30 +01:00
StorageManagerIF *storage = nullptr;
2022-02-02 10:29:30 +01:00
ReturnValue_t sendParameter(MessageQueueId_t to, uint32_t id,
const ParameterWrapper *description);
2022-02-02 10:29:30 +01:00
void rejectCommand(MessageQueueId_t to, ReturnValue_t reason, Command_t initialCommand);
};
2020-08-28 18:46:47 +02:00
#endif /* FSFW_PARAMETERS_PARAMETERHELPER_H_ */