F´ Flight Software - C/C++ Documentation devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FatalHandlerComponentAc.cpp
Go to the documentation of this file.
1// ======================================================================
2// \title FatalHandlerComponentAc.cpp
3// \author Generated by fpp-to-cpp
4// \brief cpp file for FatalHandler component base class
5// ======================================================================
6
7#include <cstdio>
8
10#include "Fw/Types/Assert.hpp"
11#if FW_ENABLE_TEXT_LOGGING
12#include "Fw/Types/String.hpp"
13#endif
14
15namespace Svc {
16
17 // ----------------------------------------------------------------------
18 // Component initialization
19 // ----------------------------------------------------------------------
20
21 void FatalHandlerComponentBase ::
22 init(NATIVE_INT_TYPE instance)
23 {
24 // Initialize base class
26
27 // Connect input port FatalReceive
28 for (
29 PlatformIntType port = 0;
30 port < static_cast<PlatformIntType>(this->getNum_FatalReceive_InputPorts());
31 port++
32 ) {
33 this->m_FatalReceive_InputPort[port].init();
34 this->m_FatalReceive_InputPort[port].addCallComp(
35 this,
36 m_p_FatalReceive_in
37 );
38 this->m_FatalReceive_InputPort[port].setPortNum(port);
39
40#if FW_OBJECT_NAMES == 1
41 // The port name consists of this->m_objName and some extra info.
42 // We expect all of this to fit in FW_OBJ_NAME_MAX_SIZE bytes.
43 // However, the compiler may assume that this->m_objName fills
44 // the entire array, whose size is FW_OBJ_NAME_MAX_SIZE. So to
45 // avoid a compiler warning, we provide an extra FW_OBJ_NAME_MAX_SIZE
46 // bytes to cover the extra info.
47 char portName[2*FW_OBJ_NAME_MAX_SIZE];
48 (void) snprintf(
49 portName,
50 sizeof(portName),
51 "%s_FatalReceive_InputPort[%" PRI_PlatformIntType "]",
52 this->m_objName,
53 port
54 );
55 this->m_FatalReceive_InputPort[port].setObjName(portName);
56#endif
57 }
58 }
59
60 // ----------------------------------------------------------------------
61 // Getters for typed input ports
62 // ----------------------------------------------------------------------
63
64 Svc::InputFatalEventPort* FatalHandlerComponentBase ::
65 get_FatalReceive_InputPort(NATIVE_INT_TYPE portNum)
66 {
68 portNum < this->getNum_FatalReceive_InputPorts(),
69 static_cast<FwAssertArgType>(portNum)
70 );
71
72 return &this->m_FatalReceive_InputPort[portNum];
73 }
74
75 // ----------------------------------------------------------------------
76 // Component construction and destruction
77 // ----------------------------------------------------------------------
78
79 FatalHandlerComponentBase ::
80 FatalHandlerComponentBase(const char* compName) :
81 Fw::PassiveComponentBase(compName)
82 {
83
84 }
85
86 FatalHandlerComponentBase ::
87 ~FatalHandlerComponentBase()
88 {
89
90 }
91
92 // ----------------------------------------------------------------------
93 // Getters for numbers of typed input ports
94 // ----------------------------------------------------------------------
95
96 NATIVE_INT_TYPE FatalHandlerComponentBase ::
97 getNum_FatalReceive_InputPorts() const
98 {
99 return static_cast<NATIVE_INT_TYPE>(FW_NUM_ARRAY_ELEMENTS(this->m_FatalReceive_InputPort));
100 }
101
102 // ----------------------------------------------------------------------
103 // Port handler base-class functions for typed input ports
104 //
105 // Call these functions directly to bypass the corresponding ports
106 // ----------------------------------------------------------------------
107
108 void FatalHandlerComponentBase ::
109 FatalReceive_handlerBase(
110 NATIVE_INT_TYPE portNum,
112 )
113 {
114 // Make sure port number is valid
115 FW_ASSERT(
116 portNum < this->getNum_FatalReceive_InputPorts(),
117 static_cast<FwAssertArgType>(portNum)
118 );
119
120 // Call handler function
121 this->FatalReceive_handler(
122 portNum,
123 Id
124 );
125 }
126
127 // ----------------------------------------------------------------------
128 // Calls for messages received on typed input ports
129 // ----------------------------------------------------------------------
130
131 void FatalHandlerComponentBase ::
132 m_p_FatalReceive_in(
133 Fw::PassiveComponentBase* callComp,
134 NATIVE_INT_TYPE portNum,
136 )
137 {
138 FW_ASSERT(callComp);
139 FatalHandlerComponentBase* compPtr = static_cast<FatalHandlerComponentBase*>(callComp);
141 portNum,
142 Id
143 );
144 }
145
146}
#define FW_ASSERT(...)
Definition Assert.hpp:14
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
Definition BasicTypes.h:66
int PlatformIntType
DefaultTypes.hpp provides fallback defaults for the platform types.
#define PRI_PlatformIntType
PlatformAssertArgType FwAssertArgType
Definition FpConfig.h:21
U32 FwEventIdType
Definition FpConfig.h:62
void init()
Object initializer.
Definition ObjBase.cpp:27
Auto-generated base for FatalHandler component.
void FatalReceive_handlerBase(NATIVE_INT_TYPE portNum, FwEventIdType Id)
Handler base-class function for input port FatalReceive.