#ifndef DATAPOOLPARAMETERWRAPPER_H_ #define DATAPOOLPARAMETERWRAPPER_H_ #include "../globalfunctions/Type.h" #include "../parameters/ParameterWrapper.h" class DataPoolParameterWrapper: public SerializeIF { public: DataPoolParameterWrapper(); virtual ~DataPoolParameterWrapper(); ReturnValue_t set(uint8_t domainId, uint16_t parameterId); virtual ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize, Endianness streamEndianness) const override; virtual size_t getSerializedSize() const override; virtual ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size, Endianness streamEndianness) override; ReturnValue_t copyFrom(const ParameterWrapper *from, uint16_t startWritingAtIndex); private: Type type; uint8_t rows; uint8_t columns; uint32_t poolId; template ReturnValue_t deSerializeData(uint8_t startingRow, uint8_t startingColumn, const void *from, uint8_t fromRows); }; #endif /* DATAPOOLPARAMETERWRAPPER_H_ */