MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/logging/LoggerProvider.hh

38 lines
941 B
C++

#ifndef LOGGING_LOGGERPROVIDER_H_
#define LOGGING_LOGGERPROVIDER_H_
#include "LoggerProviderMethods.hh"
#include "LoggingBase.hh"
#include <map>
#include <memory_resource>
namespace logging {
class LoggerProvider : public LoggerProviderMethods {
typedef std::map< Logger::Id, Logger*, std::less<Logger::Id>, std::pmr::polymorphic_allocator< std::pair< const Logger::Id, Logger* > > > collection;
collection loggers;
const base::log_permit_flag global_permissons;
std::pmr::memory_resource * memory;
const uint32_t global_on_count;
public:
LoggerProvider( std::pmr::memory_resource *, base::log_permit_flag, uint32_t );
Logger * get_logger( Logger::Id, base::log_permit_flag, std::pmr::memory_resource * allocator );
//std::pair<collection::const_iterator, collection::const_iterator> range_of_available_loggers();
//~LoggerProvider() = default;
};
}
#endif /* LOGGING_LOGGERPROVIDER_H_ */