38 lines
941 B
C++
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_ */
|