GCC Code Coverage Report


Directory: ./
File: Fw/Obj/SimpleObjRegistry.cpp
Date: 2026-09-23 22:11:34
Exec Total Coverage
Lines: 0 31 0.0%
Functions: 0 6 0.0%
Branches: 0 14 0.0%

Line Branch Exec Source
1 #include <Fw/FPrimeBasicTypes.hpp>
2 #include <Fw/Logger/Logger.hpp>
3 #include <Fw/Obj/SimpleObjRegistry.hpp>
4 #include <Fw/Types/Assert.hpp>
5 #include <cstdio>
6 #include <cstring>
7
8 #if FW_OBJECT_REGISTRATION == 1
9
10 namespace Fw {
11
12 ✗ SimpleObjRegistry::SimpleObjRegistry() {
13 ✗ ObjBase::setObjRegistry(this);
14 ✗ this->m_numEntries = 0;
15 // Initialize pointer array
16 ✗ for (FwSizeType entry = 0; entry < FW_OBJ_SIMPLE_REG_ENTRIES; entry++) {
17 ✗ this->m_objPtrArray[entry] = nullptr;
18 }
19 ✗ }
20
21 ✗ SimpleObjRegistry::~SimpleObjRegistry() {
22 ✗ ObjBase::setObjRegistry(nullptr);
23 ✗ }
24
25 ✗ void SimpleObjRegistry::dump() {
26 ✗ FW_ASSERT(this->m_numEntries <= FW_OBJ_SIMPLE_REG_ENTRIES, static_cast<FwAssertArgType>(this->m_numEntries));
27 ✗ for (FwSizeType obj = 0; obj < this->m_numEntries; obj++) {
28 ✗ FW_ASSERT(this->m_objPtrArray[obj] != nullptr, static_cast<FwAssertArgType>(obj));
29 #if FW_OBJECT_NAMES == 1
30 #if FW_OBJECT_TO_STRING == 1
31 char objDump[FW_OBJ_SIMPLE_REG_BUFF_SIZE];
32 ✗ this->m_objPtrArray[obj]->toString(objDump, sizeof(objDump));
33 ✗ Fw::Logger::log("Entry: %" PRI_FwSizeType " Ptr: %p Str: %s\n", obj, this->m_objPtrArray[obj], objDump);
34 #else
35 Fw::Logger::log("Entry: %" PRI_FwSizeType " Ptr: %p Name: %s\n", obj, this->m_objPtrArray[obj],
36 this->m_objPtrArray[obj]->getObjName());
37 #endif // FW_OBJECT_TO_STRING
38 #else
39 Fw::Logger::log("Entry: %" PRI_FwSizeType " Ptr: %p\n", obj, this->m_objPtrArray[obj]);
40 #endif
41 }
42 ✗ }
43
44 #if FW_OBJECT_NAMES == 1
45 ✗ void SimpleObjRegistry::dump(const char* objName) {
46 ✗ FW_ASSERT(this->m_numEntries <= FW_OBJ_SIMPLE_REG_ENTRIES, static_cast<FwAssertArgType>(this->m_numEntries));
47 ✗ for (FwSizeType obj = 0; obj < this->m_numEntries; obj++) {
48 ✗ FW_ASSERT(this->m_objPtrArray[obj] != nullptr, static_cast<FwAssertArgType>(obj));
49 char objDump[FW_OBJ_SIMPLE_REG_BUFF_SIZE];
50 ✗ if (strncmp(objName, this->m_objPtrArray[obj]->getObjName(), sizeof(objDump)) == 0) {
51 #if FW_OBJECT_TO_STRING == 1
52 ✗ this->m_objPtrArray[obj]->toString(objDump, sizeof(objDump));
53 ✗ Fw::Logger::log("Entry: %" PRI_FwSizeType " Ptr: %p Str: %s\n", obj, this->m_objPtrArray[obj], objDump);
54 #else
55 Fw::Logger::log("Entry: %" PRI_FwSizeType " Ptr: %p Name: %s\n", obj, this->m_objPtrArray[obj],
56 this->m_objPtrArray[obj]->getObjName());
57 #endif
58 }
59 }
60 ✗ }
61 #endif
62 ✗ void SimpleObjRegistry::regObject(ObjBase* obj) {
63 ✗ FW_ASSERT(this->m_numEntries < FW_OBJ_SIMPLE_REG_ENTRIES);
64 ✗ this->m_objPtrArray[this->m_numEntries++] = obj;
65 ✗ }
66
67 ✗ void SimpleObjRegistry::clear() {
68 ✗ this->m_numEntries = 0;
69 ✗ }
70
71 } // namespace Fw
72
73 #endif
74