F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
SdlsSaRouter.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title SdlsSaRouter.hpp
3 // \author lestarch-autobot
4 // \brief hpp file for SdlsSaRouter component implementation class
5 // ======================================================================
6 
7 #ifndef Svc_Ccsds_SdlsSaRouter_HPP
8 #define Svc_Ccsds_SdlsSaRouter_HPP
9 
10 #include <Os/Mutex.hpp>
14 #include "Svc/Ccsds/SdlsSaRouter/SdlsSaRouterComponentAc.hpp"
15 
16 namespace Svc {
17 
18 namespace Ccsds {
19 
20 class SdlsSaRouter final : public SdlsSaRouterComponentBase {
21  public:
22  // ----------------------------------------------------------------------
23  // Component construction and destruction
24  // ----------------------------------------------------------------------
25 
27  SdlsSaRouter(const char* const compName
28  );
29 
31  ~SdlsSaRouter();
32 
37  void configure(const SdlsCfg::SaMap& saMap
38  );
39 
40  private:
41  // ----------------------------------------------------------------------
42  // Handler implementations for typed input ports
43  // ----------------------------------------------------------------------
44 
48  void dataIn_handler(FwIndexType portNum,
49  U16 securityAssociationIndex,
50  Fw::Buffer& data,
51  const ComCfg::FrameContext& context) override;
52 
56  void dataReturnIn_handler(FwIndexType portNum,
57  Fw::Buffer& data,
58  const ComCfg::FrameContext& context) override;
59 
63  void saBufferReturnIn_handler(FwIndexType portNum,
64  Fw::Buffer& data,
65  const ComCfg::FrameContext& context) override;
66 
71  void saDataIn_handler(FwIndexType portNum,
72  const Svc::Ccsds::SdlsStatus& status,
73  Fw::Buffer& data,
74  const ComCfg::FrameContext& context) override;
75 
76  private:
77  // ----------------------------------------------------------------------
78  // Member variables
79  // ----------------------------------------------------------------------
80 
83 
85  Os::Mutex m_outstandingLock;
86 
87  // ----------------------------------------------------------------------
88  // Constants
89  // ----------------------------------------------------------------------
90 
92  static constexpr FwIndexType ROUTER_ERROR_PORT = -1;
93 
99 };
100 
101 } // namespace Ccsds
102 
103 } // namespace Svc
104 
105 #endif
Link-time delegating Mutex implementation.
Status of an SDLS (Space Data Link Security) encryption/decryption request.
void configure(const SdlsCfg::SaMap &saMap)
~SdlsSaRouter()
Destroy SdlsSaRouter object.
SdlsSaRouter(const char *const compName)
Construct SdlsSaRouter object.
PlatformIndexType FwIndexType
Type used to pass context info between components during framing/deframing.
RateGroupDivider component implementation.