fsfw/src/fsfw/tcdistribution/CfdpPacketChecker.h

34 lines
874 B
C++

#ifndef FSFW_TCDISTRIBUTION_TCPACKETCHECKCFDP_H_
#define FSFW_TCDISTRIBUTION_TCPACKETCHECKCFDP_H_
#include "CcsdsPacketCheckIF.h"
#include "fsfw/FSFW.h"
class CfdpPacketStored;
/**
* This class performs a formal packet check for incoming CFDP Packets.
* @ingroup tc_distribution
*/
class CfdpPacketChecker : public CcsdsPacketCheckIF, public HasReturnvaluesIF {
protected:
/**
* The packet id each correct packet should have.
* It is composed of the APID and some static fields.
*/
uint16_t apid;
public:
/**
* The constructor only sets the APID attribute.
* @param set_apid The APID to set.
*/
explicit CfdpPacketChecker(uint16_t setApid);
ReturnValue_t checkPacket(const SpacePacketReader& currentPacket, size_t packetLen) override;
[[nodiscard]] uint16_t getApid() const;
};
#endif /* FSFW_TCDISTRIBUTION_TCPACKETCHECKCFDP_H_ */