F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
ObjBase.hpp
Go to the documentation of this file.
1 
13 #ifndef FW_OBJ_BASE_HPP
14 #define FW_OBJ_BASE_HPP
15 
16 #include <Fw/Types/BasicTypes.hpp>
17 #include <FpConfig.hpp>
18 
19 namespace Fw {
20 
21 #if FW_OBJECT_REGISTRATION == 1
22  class ObjRegistry;
23 #endif
24 
32 
33  class ObjBase {
34  public:
35 #if FW_OBJECT_NAMES == 1
36 
42  const char* getObjName(void);
43 
50  void setObjName(const char* name);
51 #if FW_OBJECT_TO_STRING == 1
52 
62  virtual void toString(char* str, NATIVE_INT_TYPE size);
63 #endif // FW_OBJECT_TO_STRING
64 #endif // FW_OBJECT_NAMES
65 
66 #if FW_OBJECT_REGISTRATION == 1
67 
77  static void setObjRegistry(ObjRegistry* reg);
78 #endif
79 
80  protected:
81 
82 #if FW_OBJECT_NAMES == 1
83  char m_objName[FW_OBJ_NAME_MAX_SIZE];
84 #endif
85 
92  ObjBase(const char* name);
93 
98  virtual ~ObjBase();
99 
105  void init(void);
106  private:
107 #if FW_OBJECT_REGISTRATION == 1
108  static ObjRegistry* s_objRegistry;
109 #endif
110  }; // ObjBase
111 
112 #if FW_OBJECT_REGISTRATION == 1
113  class ObjRegistry {
119  public:
120 
130  virtual void regObject(ObjBase* obj)=0;
131 
136  virtual ~ObjRegistry();
137  }; // ObjRegistry
138 #endif // FW_OBJECT_REGISTRATION
139 }
140 #endif // FW_OBJ_BASE_HPP
Fw::ObjBase
Brief class description.
Definition: ObjBase.hpp:33
Fw::ObjBase::ObjBase
ObjBase(const char *name)
ObjBase constructor.
Definition: ObjBase.cpp:21
Fw::ObjBase::~ObjBase
virtual ~ObjBase()
Destructor.
Definition: ObjBase.cpp:34
Fw::ObjBase::init
void init(void)
Object initializer.
Definition: ObjBase.cpp:26
FW_OBJ_NAME_MAX_SIZE
#define FW_OBJ_NAME_MAX_SIZE
Size of object name (if object names enabled). AC Limits to 80, truncation occurs above 80.
Definition: FpConfig.hpp:178
FpConfig.hpp
ISF configuration file.
BasicTypes.hpp
Declares ISF basic types.
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Fw
Definition: BufferGetPortAc.cpp:6