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.
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 #endif
23 
24 void ObjBase::init() {
25 #if FW_OBJECT_REGISTRATION
26  if (ObjBase::s_objRegistry) {
27  ObjBase::s_objRegistry->regObject(this);
28  }
29 #endif
30 }
31 
33 
34 #if FW_OBJECT_NAMES == 1
35 const char* ObjBase::getObjName() {
36  return this->m_objName.toChar();
37 }
38 
39 void ObjBase::setObjName(const char* name) {
40  this->m_objName = name;
41 }
42 #if FW_OBJECT_TO_STRING == 1
43 void ObjBase::toString(char* str, FwSizeType size) {
44  FW_ASSERT(size > 0);
45  FW_ASSERT(str != nullptr);
46  Fw::FormatStatus formatStatus = Fw::ExternalString(str, static_cast<Fw::ExternalString::SizeType>(size))
47  .format("Obj: %s", this->m_objName.toChar());
48  if (formatStatus != Fw::FormatStatus::SUCCESS) {
49  str[0] = 0;
50  }
51 }
52 #endif
53 #endif
54 
55 #if FW_OBJECT_REGISTRATION == 1
56 void ObjBase::setObjRegistry(ObjRegistry* reg) {
57  ObjBase::s_objRegistry = reg;
58 }
59 
60 ObjRegistry::~ObjRegistry() {}
61 
62 #endif
63 } // namespace Fw
PlatformSizeType FwSizeType
ObjBase(const char *name)
ObjBase constructor.
Definition: ObjBase.cpp:21
void init()
Object initializer.
Definition: ObjBase.cpp:24
A string backed by an external buffer.
virtual ~ObjBase()
Destructor.
Definition: ObjBase.cpp:32
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:55
Declarations for Fw::ObjBase and Fw::ObjRegistry.
#define FW_ASSERT(...)
Definition: Assert.hpp:14
FormatStatus
status of string format calls
Definition: format.hpp:18