2023-08-16 11:38:00 +02:00
|
|
|
#ifndef MISSION_CFDP_CFDPUSER_H_
|
|
|
|
#define MISSION_CFDP_CFDPUSER_H_
|
|
|
|
|
2023-08-16 13:16:14 +02:00
|
|
|
#include <fsfw/cfdp/handler/ReservedMessageParser.h>
|
2023-08-16 11:38:00 +02:00
|
|
|
#include <fsfw/cfdp/handler/UserBase.h>
|
|
|
|
|
|
|
|
namespace cfdp {
|
|
|
|
|
|
|
|
class EiveUserHandler : public cfdp::UserBase {
|
|
|
|
public:
|
2023-08-16 13:16:14 +02:00
|
|
|
explicit EiveUserHandler(HasFileSystemIF& vfs, StorageManagerIF& ipcStore,
|
|
|
|
MessageQueueId_t cfdpRequestId);
|
2023-08-16 11:38:00 +02:00
|
|
|
|
|
|
|
virtual ~EiveUserHandler();
|
|
|
|
|
|
|
|
void transactionIndication(const cfdp::TransactionId& id) override;
|
|
|
|
void eofSentIndication(const cfdp::TransactionId& id) override;
|
|
|
|
void transactionFinishedIndication(const cfdp::TransactionFinishedParams& params) override;
|
|
|
|
void metadataRecvdIndication(const cfdp::MetadataRecvdParams& params) override;
|
|
|
|
void fileSegmentRecvdIndication(const cfdp::FileSegmentRecvdParams& params) override;
|
|
|
|
void reportIndication(const cfdp::TransactionId& id, cfdp::StatusReportIF& report) override;
|
|
|
|
void suspendedIndication(const cfdp::TransactionId& id, cfdp::ConditionCode code);
|
|
|
|
void resumedIndication(const cfdp::TransactionId& id, size_t progress) override;
|
|
|
|
void faultIndication(const cfdp::TransactionId& id, cfdp::ConditionCode code,
|
|
|
|
size_t progress) override;
|
|
|
|
void abandonedIndication(const cfdp::TransactionId& id, cfdp::ConditionCode code,
|
|
|
|
size_t progress) override;
|
|
|
|
void eofRecvIndication(const cfdp::TransactionId& id) override;
|
|
|
|
|
|
|
|
private:
|
|
|
|
MessageQueueIF* userQueue;
|
2023-08-16 13:16:14 +02:00
|
|
|
ReservedMessageParser* reservedMsgParser;
|
2023-08-16 11:38:00 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace cfdp
|
|
|
|
|
|
|
|
#endif /* MISSION_CFDP_CFDPUSER_H_ */
|