F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
ObjBase.cpp
Go to the documentation of this file.
1 #include <FpConfig.hpp>
2 #include <Fw/Obj/ObjBase.hpp>
3 #include <Fw/Types/Assert.hpp>
5 
6 namespace Fw {
7 
8 #if FW_OBJECT_REGISTRATION == 1
9  ObjRegistry* ObjBase::s_objRegistry = nullptr;
10 #endif
11 
12 #if FW_OBJECT_NAMES == 1
13  ObjBase::ObjBase(const char* objName) {
14  if (nullptr == objName) {
15  this->setObjName("NoName");
16  } else {
17  this->setObjName(objName);
18  }
19  }
20 #else
21  ObjBase::ObjBase(const char* objName) {
22 
23  }
24 #endif
25 
26  void ObjBase::init() {
27 #if FW_OBJECT_REGISTRATION
28  if (ObjBase::s_objRegistry) {
29  ObjBase::s_objRegistry->regObject(this);
30  }
31 #endif
32  }
33 
35 
36  }
37 
38 #if FW_OBJECT_NAMES == 1
39  const char* ObjBase::getObjName() {
40  return this->m_objName.toChar();
41  }
42 
43  void ObjBase::setObjName(const char* name) {
44  this->m_objName = name;
45  }
46 #if FW_OBJECT_TO_STRING == 1
47  void ObjBase::toString(char* str, FwSizeType size) {
48  FW_ASSERT(size > 0);
49  FW_ASSERT(str != nullptr);
50  Fw::FormatStatus formatStatus = Fw::ExternalString(str, static_cast<Fw::ExternalString::SizeType>(size)).format("Obj: %s", this->m_objName.toChar());
51  if (formatStatus != Fw::FormatStatus::SUCCESS) {
52  str[0] = 0;
53  }
54  }
55 #endif
56 #endif
57 
58 #if FW_OBJECT_REGISTRATION == 1
59  void ObjBase::setObjRegistry(ObjRegistry* reg) {
60  ObjBase::s_objRegistry = reg;
61  }
62 
63  ObjRegistry::~ObjRegistry() {
64  }
65 
66 #endif
67 } // Fw
ObjBase(const char *name)
ObjBase constructor.
Definition: ObjBase.cpp:21
PlatformSizeType FwSizeType
Definition: FpConfig.h:35
void init()
Object initializer.
Definition: ObjBase.cpp:26
A string backed by an external buffer.
virtual ~ObjBase()
Destructor.
Definition: ObjBase.cpp:34
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:55
C++-compatible configuration header for fprime configuration.
Declarations for Fw::ObjBase and Fw::ObjRegistry.
#define FW_ASSERT(...)
Definition: Assert.hpp:14
FormatStatus
status of string format calls
Definition: format.hpp:18