mv handlers back to .h for inlining

This commit is contained in:
staviq 2023-09-17 16:59:37 +02:00
parent 10ad994447
commit e283c20285
2 changed files with 25 additions and 31 deletions

View file

@ -6,12 +6,6 @@ LogStateWrapper::~LogStateWrapper()
for(auto t : _targets){ delete t; } for(auto t : _targets){ delete t; }
} }
LogStateWrapper & LogStateWrapper::instance()
{
static LogStateWrapper inst;
return inst;
}
LogStateWrapper::LogTargetWrapper::LogTargetWrapper(FILE * handle) LogStateWrapper::LogTargetWrapper::LogTargetWrapper(FILE * handle)
: _type(Type::Stream), : _type(Type::Stream),
_opened(true), _opened(true),
@ -126,16 +120,6 @@ void LogStateWrapper::log_flush_all_targets_internal()
for(auto t : _targets){ t->flush(); } for(auto t : _targets){ t->flush(); }
} }
FILE * LogStateWrapper::log_handler_internal()
{
return *_current_target;
}
FILE * LogStateWrapper::log_tee_handler_internal()
{
return _stderr_target;
}
void LogStateWrapper::log_disable_internal(bool threadsafe) void LogStateWrapper::log_disable_internal(bool threadsafe)
{ {
if(threadsafe) if(threadsafe)
@ -290,16 +274,6 @@ LogStateWrapper::LogTargetWrapper * LogStateWrapper::log_set_target_impl(LogTarg
return instance().log_set_target_internal(target); return instance().log_set_target_internal(target);
} }
FILE * LogStateWrapper::log_handler_impl()
{
return instance().log_handler_internal();
}
FILE * LogStateWrapper::log_tee_handler_impl()
{
return instance().log_tee_handler_internal();
}
void LogStateWrapper::log_disable_impl() void LogStateWrapper::log_disable_impl()
{ {
instance().log_disable_internal(); instance().log_disable_internal();

View file

@ -80,7 +80,11 @@ class LogStateWrapper
void operator=(const LogStateWrapper &) = delete; void operator=(const LogStateWrapper &) = delete;
private: private:
static LogStateWrapper & instance(); static LogStateWrapper & instance()
{
static LogStateWrapper inst;
return inst;
}
class LogTargetWrapper class LogTargetWrapper
{ {
@ -130,8 +134,6 @@ class LogStateWrapper
LogTargetWrapper * log_set_target_internal(LogTargetWrapper * target); LogTargetWrapper * log_set_target_internal(LogTargetWrapper * target);
LogTargetWrapper * log_add_select_target_internal(LogTargetWrapper * t, bool insert = false); LogTargetWrapper * log_add_select_target_internal(LogTargetWrapper * t, bool insert = false);
void log_flush_all_targets_internal(); void log_flush_all_targets_internal();
FILE * log_handler_internal();
FILE * log_tee_handler_internal();
void log_disable_internal(bool threadsafe = true); void log_disable_internal(bool threadsafe = true);
void log_disable_internal_unsafe(); void log_disable_internal_unsafe();
void log_enable_internal(bool threadsafe = true); void log_enable_internal(bool threadsafe = true);
@ -141,19 +143,37 @@ class LogStateWrapper
std::string log_filename_generator_internal(const std::string & basename, const std::string & extension); std::string log_filename_generator_internal(const std::string & basename, const std::string & extension);
std::string log_get_pid_internal(); std::string log_get_pid_internal();
FILE * log_handler_internal()
{
return *_current_target;
}
FILE * log_tee_handler_internal()
{
return _stderr_target;
}
public: public:
static LogTargetWrapper * log_set_target_impl(const std::string && filename); static LogTargetWrapper * log_set_target_impl(const std::string && filename);
static LogTargetWrapper * log_set_target_impl(const std::string & filename); static LogTargetWrapper * log_set_target_impl(const std::string & filename);
static LogTargetWrapper * log_set_target_impl(FILE * handle); static LogTargetWrapper * log_set_target_impl(FILE * handle);
static LogTargetWrapper * log_set_target_impl(LogTargetWrapper * target); static LogTargetWrapper * log_set_target_impl(LogTargetWrapper * target);
static FILE * log_handler_impl();
static FILE * log_tee_handler_impl();
static void log_disable_impl(); static void log_disable_impl();
static void log_enable_impl(); static void log_enable_impl();
static bool log_param_single_parse_impl(const std::string & param); static bool log_param_single_parse_impl(const std::string & param);
static bool log_param_pair_parse_impl(bool parse, const std::string & param, const std::string & next = ""); static bool log_param_pair_parse_impl(bool parse, const std::string & param, const std::string & next = "");
static std::string log_filename_generator_impl(const std::string & basename, const std::string & extension); static std::string log_filename_generator_impl(const std::string & basename, const std::string & extension);
static std::string log_get_pid_impl(); static std::string log_get_pid_impl();
static FILE * log_handler_impl()
{
return instance().log_handler_internal();
}
static FILE * log_tee_handler_impl()
{
return instance().log_tee_handler_internal();
}
}; // class LogStateWrapper }; // class LogStateWrapper
// Specifies a log target. // Specifies a log target.