add CFDP fault handler mock

This commit is contained in:
2022-08-09 14:55:08 +02:00
parent eccb629ba8
commit dba3f9960e
22 changed files with 113 additions and 37 deletions

View File

@ -1,19 +1,21 @@
#include "FaultHandlerBase.h"
CfdpFaultHandlerBase::CfdpFaultHandlerBase() = default;
namespace cfdp {
bool CfdpFaultHandlerBase::getFaultHandler(
cfdp::ConditionCode code, cfdp::FaultHandlerCodes& handler) const {
FaultHandlerBase::FaultHandlerBase() = default;
FaultHandlerBase::~FaultHandlerBase() = default;
bool FaultHandlerBase::getFaultHandler(cfdp::ConditionCode code,
cfdp::FaultHandlerCodes& handler) const {
auto iter = faultHandlerMap.find(code);
if(iter == faultHandlerMap.end()) {
if (iter == faultHandlerMap.end()) {
return false;
}
handler = iter->second;
return true;
}
bool CfdpFaultHandlerBase::setFaultHandler(cfdp::ConditionCode code,
cfdp::FaultHandlerCodes handler) {
bool FaultHandlerBase::setFaultHandler(cfdp::ConditionCode code, cfdp::FaultHandlerCodes handler) {
if (not faultHandlerMap.contains(code)) {
return false;
}
@ -21,21 +23,20 @@ bool CfdpFaultHandlerBase::setFaultHandler(cfdp::ConditionCode code,
return true;
}
bool CfdpFaultHandlerBase::faultCallback(cfdp::ConditionCode code) {
bool FaultHandlerBase::faultCallback(cfdp::ConditionCode code) {
if (not faultHandlerMap.contains(code)) {
return false;
}
cfdp::FaultHandlerCodes fh = faultHandlerMap[code];
if (fh == cfdp::FaultHandlerCodes::IGNORE_ERROR) {
ignoreCb(code);
} else if(fh == cfdp::FaultHandlerCodes::ABANDON_TRANSACTION) {
} else if (fh == cfdp::FaultHandlerCodes::ABANDON_TRANSACTION) {
abandonCb(code);
} else if(fh == cfdp::FaultHandlerCodes::NOTICE_OF_CANCELLATION) {
} else if (fh == cfdp::FaultHandlerCodes::NOTICE_OF_CANCELLATION) {
noticeOfCancellationCb(code);
} else {
noticeOfSuspensionCb(code);
}
return true;
}
CfdpFaultHandlerBase::~CfdpFaultHandlerBase() = default;
} // namespace cfdp

View File

@ -5,10 +5,12 @@
#include "definitions.h"
class CfdpFaultHandlerBase {
namespace cfdp {
class FaultHandlerBase {
public:
virtual ~CfdpFaultHandlerBase();
CfdpFaultHandlerBase();
virtual ~FaultHandlerBase();
FaultHandlerBase();
/**
* Get the fault handler code for the given condition code
@ -46,4 +48,6 @@ class CfdpFaultHandlerBase {
cfdp::FaultHandlerCodes::IGNORE_ERROR}};
};
} // namespace cfdp
#endif // FSFW_CFDP_FAULTHANDLERBASE_H

View File

@ -15,5 +15,4 @@ struct LocalEntityCfg {
IndicationCfg indicCfg;
};
#endif // FSFW_CFDP_MIB_H

View File

@ -1,8 +1,8 @@
#ifndef FSFW_SRC_FSFW_CFDP_PDU_PDUCONFIG_H_
#define FSFW_SRC_FSFW_CFDP_PDU_PDUCONFIG_H_
#include "fsfw/cfdp/definitions.h"
#include "VarLenField.h"
#include "fsfw/cfdp/definitions.h"
namespace cfdp {
@ -22,7 +22,7 @@ struct TransactionSeqNum : public VarLenField {
TransactionSeqNum(cfdp::WidthInBytes width, size_t seqNum) : VarLenField(width, seqNum) {}
};
}
} // namespace cfdp
class PduConfig {
public: