F´ Flight Software - C/C++ Documentation  NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ComSplitter.cpp
Go to the documentation of this file.
1 // ----------------------------------------------------------------------
2 //
3 // ComSplitter.cpp
4 //
5 // ----------------------------------------------------------------------
6 
8 #include "Fw/Types/BasicTypes.hpp"
9 
10 namespace Svc {
11 
12  // ----------------------------------------------------------------------
13  // Construction, initialization, and destruction
14  // ----------------------------------------------------------------------
15 
17  ComSplitter(const char* compName) :
18  ComSplitterComponentBase(compName)
19  {
20 
21  }
22 
25  {
26 
27  }
28 
29  void ComSplitter ::
31  {
32  ComSplitterComponentBase::init(instance);
33  }
34 
35  // ----------------------------------------------------------------------
36  // Handler implementations
37  // ----------------------------------------------------------------------
38 
39  void ComSplitter ::
40  comIn_handler(
41  NATIVE_INT_TYPE portNum,
42  Fw::ComBuffer &data,
43  U32 context
44  )
45  {
46  FW_ASSERT(portNum == 0);
47 
48  NATIVE_INT_TYPE numPorts = getNum_comOut_OutputPorts();
49  FW_ASSERT(numPorts > 0);
50 
51  for(NATIVE_INT_TYPE i = 0; i < numPorts; i++) {
52  if( isConnected_comOut_OutputPort(i) ) {
53  // Need to make a copy because we are passing by reference!:
54  Fw::ComBuffer dataToSend = data;
55  comOut_out(i, dataToSend, 0);
56  }
57  }
58  }
59 
60 };
ComSplitter.hpp
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:27
Svc::ComSplitter::ComSplitter
ComSplitter(const char *compName)
Definition: ComSplitter.cpp:17
Svc::ComSplitter::init
void init(NATIVE_INT_TYPE instance)
Definition: ComSplitter.cpp:30
FW_ASSERT
#define FW_ASSERT(...)
Definition: Assert.hpp:9
Svc
Definition: ActiveRateGroupCfg.hpp:18
Svc::ComSplitter::~ComSplitter
~ComSplitter()
Definition: ComSplitter.cpp:24
Fw::ComBuffer
Definition: ComBuffer.hpp:21