#ifndef FRAMEWORK_PARAMETERS_PARAMETERHELPER_H_ #define FRAMEWORK_PARAMETERS_PARAMETERHELPER_H_ #include "../ipc/MessageQueueIF.h" #include "../parameters/ParameterMessage.h" #include "../parameters/ReceivesParameterMessagesIF.h" /** * @brief Helper class to handle parameter messages * @details * This class simplfiies handling of parameter messages, which are sent * to a class which implements ReceivesParameterMessagesIF. */ class ParameterHelper { public: ParameterHelper(ReceivesParameterMessagesIF *owner); virtual ~ParameterHelper(); ReturnValue_t handleParameterMessage(CommandMessage *message); ReturnValue_t initialize(); private: ReceivesParameterMessagesIF *owner; MessageQueueId_t ownerQueueId = MessageQueueIF::NO_QUEUE; StorageManagerIF *storage = nullptr; ReturnValue_t sendParameter(MessageQueueId_t to, uint32_t id, const ParameterWrapper *description); void rejectCommand(MessageQueueId_t to, ReturnValue_t reason, Command_t initialCommand); }; #endif /* PARAMETERHELPER_H_ */