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
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 <FpConfig.hpp>
17
18namespace Fw {
19
20#if FW_OBJECT_REGISTRATION == 1
21 class ObjRegistry;
22#endif
23
31
32 class ObjBase {
33 public:
34#if FW_OBJECT_NAMES == 1
35
41 const char* getObjName();
42
49 void setObjName(const char* name);
50#if FW_OBJECT_TO_STRING == 1
51
61 virtual void toString(char* str, NATIVE_INT_TYPE size);
62#endif // FW_OBJECT_TO_STRING
63#endif // FW_OBJECT_NAMES
64
65#if FW_OBJECT_REGISTRATION == 1
66
76 static void setObjRegistry(ObjRegistry* reg);
77#endif
78
79 protected:
80
81#if FW_OBJECT_NAMES == 1
82 char m_objName[FW_OBJ_NAME_MAX_SIZE];
83#endif
84
91 ObjBase(const char* name);
92
97 virtual ~ObjBase();
98
104 void init();
105 private:
106#if FW_OBJECT_REGISTRATION == 1
107 static ObjRegistry* s_objRegistry;
108#endif
109 }; // ObjBase
110
111#if FW_OBJECT_REGISTRATION == 1
117 class ObjRegistry {
118 public:
119
129 virtual void regObject(ObjBase* obj)=0;
130
135 virtual ~ObjRegistry();
136 }; // ObjRegistry
137#endif // FW_OBJECT_REGISTRATION
138}
139#endif // FW_OBJ_BASE_HPP
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
C++-compatible configuration header for fprime configuration.
Brief class description.
Definition ObjBase.hpp:32
void init()
Object initializer.
Definition ObjBase.cpp:27
virtual ~ObjBase()
Destructor.
Definition ObjBase.cpp:35
Definition Buffer.cpp:21