43 lines
994 B
C++
43 lines
994 B
C++
/*
|
|
* SignalLogger.hh
|
|
*
|
|
* Created on: 31 ìàð. 2021 ã.
|
|
* Author: titov
|
|
*/
|
|
|
|
#ifndef UMLIBRARY_SYSTEMIC_SIGNALLOGGER_HH_
|
|
#define UMLIBRARY_SYSTEMIC_SIGNALLOGGER_HH_
|
|
|
|
#include "SignalManager.hh"
|
|
#include "../logging/ILoggable.hh"
|
|
|
|
namespace systemic {
|
|
|
|
//!Ëîãèðóåò îøèáêè äîñòóïà ê ðåñóðñàì - ñèãíàëàì.
|
|
class SignalLogger : public SignalManager, public logging::ILoggable {
|
|
|
|
virtual Record & search( Id id ) const;
|
|
|
|
|
|
//!Îøèáêà äîñòóïà.
|
|
struct ErrorMessage {
|
|
Id signal; //!<Èäåíòèôèêàòîð çàïðîñà.
|
|
};
|
|
|
|
//!Îøèáêà ðàçìåùåíèÿ.
|
|
struct CriticalMessage {
|
|
Id signal; //!<Èäåíòèôèêàòîð çàïðîñà.
|
|
};
|
|
|
|
public:
|
|
SignalLogger( Record * recods, std::size_t size, std::pmr::memory_resource*, NotificationInterface & herald = getDefault() );
|
|
virtual bool add( Id id, InterfaceType * interface, InterfaceOverrideType * override = nullptr, volatile const Type * value = nullptr ) override;
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif /* UMLIBRARY_SYSTEMIC_SIGNALLOGGER_HH_ */
|