F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
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 <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: Buffer.cpp:21