mirror of
https://github.com/nasa/fprime.git
synced 2025-12-10 16:29:04 -06:00
39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
// ======================================================================
|
|
// \title Os/Memory.hpp
|
|
// \brief common function implementations for Os::Memory
|
|
// ======================================================================
|
|
#include "Os/Memory.hpp"
|
|
#include "Fw/Types/Assert.hpp"
|
|
|
|
namespace Os {
|
|
|
|
Memory::Memory() : m_delegate(*MemoryInterface::getDelegate(m_handle_storage)) {}
|
|
|
|
Memory::~Memory() {
|
|
m_delegate.~MemoryInterface();
|
|
}
|
|
|
|
void Memory::init() {
|
|
(void)Memory::getSingleton();
|
|
}
|
|
|
|
Memory& Memory::getSingleton() {
|
|
static Memory _singleton;
|
|
return _singleton;
|
|
}
|
|
|
|
Memory::Status Memory::_getUsage(Os::Memory::Usage& memory_usage) {
|
|
FW_ASSERT(&this->m_delegate == reinterpret_cast<MemoryInterface*>(&this->m_handle_storage[0]));
|
|
return this->m_delegate._getUsage(memory_usage);
|
|
}
|
|
|
|
Memory::Status Memory::getUsage(Os::Memory::Usage& memory_usage) {
|
|
return Memory::getSingleton()._getUsage(memory_usage);
|
|
}
|
|
|
|
MemoryHandle* Memory::getHandle() {
|
|
FW_ASSERT(&this->m_delegate == reinterpret_cast<MemoryInterface*>(&this->m_handle_storage[0]));
|
|
return this->m_delegate.getHandle();
|
|
}
|
|
} // namespace Os
|