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
GenericHubComponentImpl.hpp
Go to the documentation of this file.
1// ======================================================================
2// \title GenericHubComponentImpl.hpp
3// \author mstarch
4// \brief hpp file for GenericHub component implementation class
5//
6// \copyright
7// Copyright 2009-2015, by the California Institute of Technology.
8// ALL RIGHTS RESERVED. United States Government Sponsorship
9// acknowledged.
10//
11// ======================================================================
12
13#ifndef GenericHub_HPP
14#define GenericHub_HPP
15
16#include "Svc/GenericHub/GenericHubComponentAc.hpp"
17
18namespace Svc {
19
20class GenericHubComponentImpl : public GenericHubComponentBase {
21 public:
27 enum HubType {
31 };
32
33 const static U32 GENERIC_HUB_DATA_SIZE = 1024;
34 // ----------------------------------------------------------------------
35 // Construction, initialization, and destruction
36 // ----------------------------------------------------------------------
37
40 GenericHubComponentImpl(const char* const compName
41 );
42
45 void init(const NATIVE_INT_TYPE instance = 0
46 );
47
51
52 PRIVATE:
53 // ----------------------------------------------------------------------
54 // Handler implementations for user-defined typed input ports
55 // ----------------------------------------------------------------------
56
59 void buffersIn_handler(const NATIVE_INT_TYPE portNum,
60 Fw::Buffer& fwBuffer);
61
64 void dataIn_handler(const NATIVE_INT_TYPE portNum,
65 Fw::Buffer& fwBuffer);
66
67 // ----------------------------------------------------------------------
68 // Handler implementations for user-defined serial input ports
69 // ----------------------------------------------------------------------
70
73 void portIn_handler(NATIVE_INT_TYPE portNum,
75 );
76
77 // Helpers and members
78 void send_data(const HubType type, const NATIVE_INT_TYPE port, const U8* data, const U32 size);
79};
80
81} // end namespace Svc
82
83#endif
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
uint8_t U8
8-bit unsigned integer
Definition BasicTypes.h:26
@ HUB_TYPE_BUFFER
Buffer type transmission.
@ HUB_TYPE_PORT
Port type transmission.
void init(const NATIVE_INT_TYPE instance=0)