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
PortBase.hpp
Go to the documentation of this file.
1#ifndef FW_PORT_BASE_HPP
2#define FW_PORT_BASE_HPP
3
4#include <Fw/Obj/ObjBase.hpp>
5#include <FpConfig.hpp>
7
8#if FW_PORT_TRACING == 1
9extern "C" {
10 void setConnTrace(bool trace);
11}
12#endif
13
14namespace Fw {
15
16 class PortBase : public Fw::ObjBase {
17 public:
18#if FW_PORT_TRACING == 1
19 static void setTrace(bool trace); // !< turn tracing on or off
20 void ovrTrace(bool ovr, bool trace); // !< override tracing for a particular port
21#endif
22
23 bool isConnected();
24 protected:
25 // Should only be accessed by derived classes
26 PortBase(); // Constructor
27 virtual ~PortBase(); // Destructor
28 virtual void init(); // !< initialization function
29
30#if FW_PORT_TRACING == 1
31 void trace(); // !< trace port calls if active
32#endif
33 Fw::ObjBase* m_connObj; // !< object port is connected to
34
35#if FW_OBJECT_TO_STRING
36 virtual void toString(char* str, NATIVE_INT_TYPE size);
37#endif
38
39
40 private:
41#if FW_PORT_TRACING == 1
42 static bool s_trace; // !< global tracing is active
43 bool m_trace; // !< local trace flag
44 bool m_ovr_trace; // !< flag to override global trace
45#endif
46 // Disable constructors
49 PortBase& operator=(PortBase&);
50
51 };
52
53}
54
55#endif
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
C++-compatible configuration header for fprime configuration.
Declarations for Fw::ObjBase and Fw::ObjRegistry.
Brief class description.
Definition ObjBase.hpp:32
virtual void init()
Definition PortBase.cpp:36
bool isConnected()
Definition PortBase.cpp:41
virtual ~PortBase()
Definition PortBase.cpp:32
Fw::ObjBase * m_connObj
Definition PortBase.hpp:33