F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
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
9 extern "C" {
10  void setConnTrace(bool trace);
11 }
12 #endif
13 
14 namespace 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:35
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