MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/systemic/SignalLogger.cpp

54 lines
1.2 KiB
C++
Raw Normal View History

/*
* SignalLogger.cpp
*
* Created on: 31 <EFBFBD><EFBFBD><EFBFBD>. 2021 <EFBFBD>.
* Author: titov
*/
#include "SignalLogger.hh"
systemic::SignalManager::Record & systemic::SignalLogger::search( Id id ) const {
systemic::SignalManager::Record & record = systemic::SignalManager::search(id);
if( not record.exist() ) {
ErrorMessage message;
message.signal = id;
logger->log_error( reinterpret_cast<char *>(&message), sizeof(message) );
}
return record;
}
systemic::SignalLogger::SignalLogger(
Record * records, std::size_t size,
std::pmr::memory_resource* allocator,
NotificationInterface &herald) :
SignalManager(records, size, allocator, herald)
{
}
bool systemic::SignalLogger::add( Id id, InterfaceType * interface,
InterfaceOverrideType * override,
const volatile Type * value ) {
bool result = systemic::SignalManager::add(id, interface, override, value);
if( not result ) {
CriticalMessage message;
message.signal = id;
logger->log_critical( reinterpret_cast<char *>(&message), sizeof(message) );
}
return true;
}