#ifndef __LOGMGR_H__ #define __LOGMGR_H__ #pragma once #include "log_base.h" #include "log_factory.h" #include "hashset.h" #ifdef __cplusplus extern "C" { #endif typedef struct logmgr_t logmgr_t; struct logmgr_t { struct list_head factory_list; stringmap_t* log_table; }; int logmgr_create(logmgr_t** p_mgr); void logmgr_destroy(logmgr_t* mgr); int logmgr_register_factory(logmgr_t* mgr, logfactory_t* fac); int logmgr_unregister_factory(logmgr_t* mgr, logfactory_t* fac); logfactory_t* logmgr_get_factory(logmgr_t* mgr, const char* name); int logmgr_create_log(logmgr_t* mgr, const char* factory, const char* inst, logbase_t** p_log); int logmgr_set_param(logmgr_t* mgr, logbase_t* log, const char* key, const char* value); int logmgr_init_log(logmgr_t* mgr, logbase_t* log); int logmgr_term_log(logmgr_t* mgr, logbase_t* log); void logmgr_destroy_log(logmgr_t* mgr, logbase_t* log); logbase_t* logmgr_find_log(logmgr_t* mgr, const char* inst); #ifdef __cplusplus } #endif #endif //__LOGMGR_H__