Files
fsfw/src/fsfw/cfdp/pdu/PromptPduDeserializer.cpp
Robin Mueller 904abfba28
Some checks failed
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
clean up CFDP stack a bit
2022-08-08 18:29:32 +02:00

22 lines
781 B
C++

#include "PromptPduDeserializer.h"
PromptPduDeserializer::PromptPduDeserializer(const uint8_t *pduBuf, size_t maxSize)
: FileDirectiveReader(pduBuf, maxSize) {}
cfdp::PromptResponseRequired PromptPduDeserializer::getPromptResponseRequired() const {
return responseRequired;
}
ReturnValue_t PromptPduDeserializer::parseData() {
ReturnValue_t result = FileDirectiveReader::parseData();
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
if (FileDirectiveReader::getWholePduSize() <= FileDirectiveReader::getHeaderSize()) {
return SerializeIF::STREAM_TOO_SHORT;
}
responseRequired = static_cast<cfdp::PromptResponseRequired>(
(pointers.rawPtr[FileDirectiveReader::getHeaderSize()] >> 7) & 0x01);
return HasReturnvaluesIF::RETURN_OK;
}