/* * SignalLogger.cpp * * Created on: 31 мар. 2021 г. * 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(&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(&message), sizeof(message) ); } return true; }