40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
/*
|
||
* StatusLogger.hh
|
||
*
|
||
* Created on: 31 мар. 2021 г.
|
||
* Author: titov
|
||
*/
|
||
|
||
#ifndef UMLIBRARY_SYSTEMIC_STATUSLOGGER_HH_
|
||
#define UMLIBRARY_SYSTEMIC_STATUSLOGGER_HH_
|
||
|
||
#include "StatusManager.hh"
|
||
#include "../logging/ILoggable.hh"
|
||
|
||
namespace systemic {
|
||
|
||
//!Логирует ошибки доступа к ресурсам - статусы.
|
||
class StatusLogger : public StatusManager, public logging::ILoggable {
|
||
|
||
virtual Record & search( Id id ) const;
|
||
|
||
//!Ошибка доступа.
|
||
struct ErrorMessage {
|
||
Id status; //!<Идентификатор запроса.
|
||
};
|
||
|
||
//!Ошибка размещения.
|
||
struct CriticalMessage {
|
||
Id status; //!<Идентификатор запроса.
|
||
};
|
||
|
||
public:
|
||
StatusLogger( Record * recods, std::size_t size, std::pmr::memory_resource* allocator, NotificationInterface & herald = getDefault() );
|
||
virtual bool add( Id id, InterfaceType * interface, InterfaceOverrideType * override = nullptr, volatile const Type * value = nullptr ) override;
|
||
};
|
||
|
||
}
|
||
|
||
|
||
#endif /* UMLIBRARY_SYSTEMIC_STATUSLOGGER_HH_ */
|