2022-09-16 17:28:43 +02:00
|
|
|
#ifndef MISSION_CFDP_CONFIG_H_
|
|
|
|
#define MISSION_CFDP_CONFIG_H_
|
|
|
|
|
|
|
|
#include "fsfw/cfdp.h"
|
|
|
|
|
|
|
|
namespace cfdp {
|
|
|
|
|
|
|
|
class EiveUserHandler : public cfdp::UserBase {
|
|
|
|
public:
|
|
|
|
explicit EiveUserHandler(HasFileSystemIF& vfs) : cfdp::UserBase(vfs) {}
|
|
|
|
virtual ~EiveUserHandler() = default;
|
|
|
|
|
|
|
|
void transactionIndication(const cfdp::TransactionId& id) override {}
|
|
|
|
void eofSentIndication(const cfdp::TransactionId& id) override {}
|
|
|
|
void transactionFinishedIndication(const cfdp::TransactionFinishedParams& params) override {
|
|
|
|
sif::info << "File transaction finished for transaction with " << params.id << std::endl;
|
|
|
|
}
|
|
|
|
void metadataRecvdIndication(const cfdp::MetadataRecvdParams& params) override {
|
|
|
|
sif::info << "Metadata received for transaction with " << params.id << std::endl;
|
|
|
|
}
|
|
|
|
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) override {}
|
|
|
|
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 {
|
|
|
|
sif::info << "EOF PDU received for transaction with " << id << std::endl;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
class EiveFaultHandler : public cfdp::FaultHandlerBase {
|
|
|
|
public:
|
|
|
|
void noticeOfSuspensionCb(cfdp::TransactionId& id, cfdp::ConditionCode code) override {
|
|
|
|
sif::warning << "Notice of suspension detected for transaction " << id
|
|
|
|
<< " with condition code: " << cfdp::getConditionCodeString(code) << std::endl;
|
|
|
|
}
|
|
|
|
void noticeOfCancellationCb(cfdp::TransactionId& id, cfdp::ConditionCode code) override {
|
|
|
|
sif::warning << "Notice of suspension detected for transaction " << id
|
|
|
|
<< " with condition code: " << cfdp::getConditionCodeString(code) << std::endl;
|
|
|
|
}
|
|
|
|
void abandonCb(cfdp::TransactionId& id, cfdp::ConditionCode code) override {
|
|
|
|
sif::warning << "Transaction " << id
|
|
|
|
<< " was abandoned, condition code : " << cfdp::getConditionCodeString(code)
|
|
|
|
<< std::endl;
|
|
|
|
}
|
|
|
|
void ignoreCb(cfdp::TransactionId& id, cfdp::ConditionCode code) override {
|
|
|
|
sif::warning << "Fault ignored for transaction " << id
|
|
|
|
<< ", condition code: " << cfdp::getConditionCodeString(code) << std::endl;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2022-09-16 18:10:23 +02:00
|
|
|
} // namespace cfdp
|
2022-09-16 17:28:43 +02:00
|
|
|
|
|
|
|
#endif /* MISSION_CFDP_CONFIG_H_ */
|