F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
PrmSetPortAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title PrmSetPortAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for PrmSet port
5 // ======================================================================
6 
8 #include "Fw/Types/Assert.hpp"
10 
11 namespace Fw {
12 
13  namespace {
14 
15  // ----------------------------------------------------------------------
16  // Port buffer class
17  // ----------------------------------------------------------------------
18 
19  class PrmSetPortBuffer : public Fw::SerializeBufferBase {
20 
21  public:
22 
23  Fw::Serializable::SizeType getBuffCapacity() const {
25  }
26 
27  U8* getBuffAddr() {
28  return m_buff;
29  }
30 
31  const U8* getBuffAddr() const {
32  return m_buff;
33  }
34 
35  private:
36 
38 
39  };
40 
41  }
42 
43  // ----------------------------------------------------------------------
44  // Input Port Member functions
45  // ----------------------------------------------------------------------
46 
49  Fw::InputPortBase(),
50  m_func(nullptr)
51  {
52 
53  }
54 
57  {
59  }
60 
63  Fw::PassiveComponentBase* callComp,
64  CompFuncPtr funcPtr
65  )
66  {
67  FW_ASSERT(callComp != nullptr);
68  FW_ASSERT(funcPtr != nullptr);
69 
70  this->m_comp = callComp;
71  this->m_func = funcPtr;
72  this->m_connObj = callComp;
73  }
74 
77  FwPrmIdType id,
78  Fw::ParamBuffer& val
79  )
80  {
81 #if FW_PORT_TRACING == 1
82  this->trace();
83 #endif
84 
85  FW_ASSERT(this->m_comp != nullptr);
86  FW_ASSERT(this->m_func != nullptr);
87 
88  return this->m_func(this->m_comp, this->m_portNum, id, val);
89  }
90 
91 #if FW_PORT_SERIALIZATION == 1
92 
93  Fw::SerializeStatus InputPrmSetPort ::
94  invokeSerial(Fw::SerializeBufferBase& _buffer)
95  {
96  Fw::SerializeStatus _status;
97 
98 #if FW_PORT_TRACING == 1
99  this->trace();
100 #endif
101 
102  FW_ASSERT(this->m_comp != nullptr);
103  FW_ASSERT(this->m_func != nullptr);
104 
105  FwPrmIdType id;
106  _status = _buffer.deserializeTo(id);
107  if (_status != Fw::FW_SERIALIZE_OK) {
108  return _status;
109  }
110 
111  Fw::ParamBuffer val;
112  _status = _buffer.deserializeTo(val);
113  if (_status != Fw::FW_SERIALIZE_OK) {
114  return _status;
115  }
116 
117  this->m_func(this->m_comp, this->m_portNum, id, val);
118 
119  return Fw::FW_SERIALIZE_OK;
120  }
121 
122 #endif
123 
124  // ----------------------------------------------------------------------
125  // Output Port Member functions
126  // ----------------------------------------------------------------------
127 
130  Fw::OutputPortBase(),
131  m_port(nullptr)
132  {
133 
134  }
135 
138  {
140  }
141 
144  {
145  FW_ASSERT(callPort != nullptr);
146 
147  this->m_port = callPort;
148  this->m_connObj = callPort;
149 
150 #if FW_PORT_SERIALIZATION == 1
151  this->m_serPort = nullptr;
152 #endif
153  }
154 
157  FwPrmIdType id,
158  Fw::ParamBuffer& val
159  ) const
160  {
161 #if FW_PORT_TRACING == 1
162  this->trace();
163 #endif
164 
165 #if FW_PORT_SERIALIZATION
166  FW_ASSERT((this->m_port != nullptr) || (this->m_serPort != nullptr));
167 
168  if (this->m_port != nullptr) {
169  this->m_port->invoke(id, val);
170  }
171  else {
172  Fw::SerializeStatus _status;
173  PrmSetPortBuffer _buffer;
174 
175  _status = _buffer.serializeFrom(id);
176  FW_ASSERT(_status == Fw::FW_SERIALIZE_OK, static_cast<FwAssertArgType>(_status));
177 
178  _status = _buffer.serializeFrom(val);
179  FW_ASSERT(_status == Fw::FW_SERIALIZE_OK, static_cast<FwAssertArgType>(_status));
180 
181  _status = this->m_serPort->invokeSerial(_buffer);
182  FW_ASSERT(_status == Fw::FW_SERIALIZE_OK, static_cast<FwAssertArgType>(_status));
183  }
184 #else
185  FW_ASSERT(this->m_port != nullptr);
186  this->m_port->invoke(id, val);
187 #endif
188  }
189 
190 }
Serialization/Deserialization operation was successful.
FwIndexType m_portNum
FwIdType FwPrmIdType
The type of a parameter identifier.
void addCallPort(InputPrmSetPort *callPort)
Register an input port.
The size of the serial representations of the port arguments.
void init()
Initialization function.
SerializeStatus
forward declaration for string
void init() override
FwSizeType SizeType
InputPrmSetPort()
Constructor.
void invoke(FwPrmIdType id, Fw::ParamBuffer &val)
Invoke a port interface.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
PassiveComponentBase * m_comp
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
void init() override
void invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Invoke a port interface.
Fw::ObjBase * m_connObj
Definition: PortBase.hpp:34
#define FW_ASSERT(...)
Definition: Assert.hpp:14
void init()
Initialization function.
OutputPrmSetPort()
Constructor.
SerializeStatus deserializeTo(U8 &val)
deserialize 8-bit unsigned int