File TriageRouter.hpp¶
File List > Components > TriageRouter > TriageRouter.hpp
Go to the documentation of this file
#ifndef ORION_TRIAGE_ROUTER_HPP
#define ORION_TRIAGE_ROUTER_HPP
#include "Orion/Components/TriageRouter/TriageRouterComponentAc.hpp"
namespace Orion {
class TriageRouter final : public TriageRouterComponentBase {
public:
explicit TriageRouter(const char* compName);
~TriageRouter();
private:
// -----------------------------------------------------------------------
// Port handler
// -----------------------------------------------------------------------
void triageDecisionIn_handler(FwIndexType portNum, const Orion::TriagePriority& verdict,
const Fw::StringBase& reason, Fw::Buffer& buffer) override;
void modeChangeIn_handler(FwIndexType portNum, const Orion::MissionMode& mode) override;
// -----------------------------------------------------------------------
// Routing helpers
// -----------------------------------------------------------------------
void routeHigh(const Fw::StringBase& reason, Fw::Buffer& buffer);
void routeMedium(Fw::Buffer& buffer);
void routeLow(Fw::Buffer& buffer);
// -----------------------------------------------------------------------
// State
// -----------------------------------------------------------------------
U32 m_highRouted;
U32 m_mediumSaved;
U32 m_lowDiscarded;
U32 m_mediumFileIndex;
MissionMode m_currentMode;
};
} // namespace Orion
#endif // ORION_TRIAGE_ROUTER_HPP