/* * LogProvider.hh * * Created on: 23 июл. 2020 г. * Author: LeonidTitov */ #ifndef UMLIBRARY_APPLICATION_LOG_LOGPROVIDER_HH_ #define UMLIBRARY_APPLICATION_LOG_LOGPROVIDER_HH_ #include "../ISetupStep.hh" #include "../../logging/LoggerProvider.hh" #include namespace application { namespace log { struct LogProvider : public ISetupStep { std::pmr::memory_resource * memory = nullptr; systemic::ISignal * on_conter = nullptr; struct Links { Environment::Id object_memory; //!<Указатель на память, которая будет использованна для динамических структур данных. Environment::SignalId on_counter; //!<Счетчик включений. Environment::Id provider; //!<Интерфейс получения регистраторов событий. }; //!Глобальная Политика приоритетов сообщений. struct Setting { uint16_t allow_information_log; //!< Глобальное разрешение регистрации информационных сообщений. uint16_t allow_critical_log; //!< Глобальное разрешение регистрации критических сообщений. uint16_t allow_error_log; //!< Глобальное разрешение регистрации сообщений об ошибке. }; const Links & links; const Setting & config; bool input( Environment & env ); void build( Environment & env ); LogProvider( const Links & links, const Setting & config ) : links(links), config(config) {} }; }} #endif /* UMLIBRARY_APPLICATION_LOG_LOGPROVIDER_HH_ */