00001 #ifndef PVLOGGER_REGISTRY_H_INCLUDED 00002 #define PVLOGGER_REGISTRY_H_INCLUDED 00003 00004 #ifndef PVLOGGER_H_INCLUDED 00005 #include "pvlogger.h" 00006 #endif 00007 00008 #ifndef OSCL_TAGTREE_H_INCLUDED 00009 #include "oscl_tagtree.h" 00010 #endif 00011 00025 class PVLoggerRegistry 00026 { 00027 public: 00028 00029 typedef PVLogger::log_level_type log_level_type; 00030 typedef PVLogger::alloc_type alloc_type; 00031 00036 OSCL_IMPORT_REF static PVLoggerRegistry* GetPVLoggerRegistry(); 00037 00042 OSCL_IMPORT_REF PVLoggerRegistry(); 00043 00048 OSCL_IMPORT_REF virtual ~PVLoggerRegistry(); 00049 00062 OSCL_IMPORT_REF PVLogger *GetPVLoggerObject(const char* tagIn); 00063 00074 OSCL_IMPORT_REF PVLogger *CreatePVLogger(const char* tagIn, log_level_type level, bool oAppenderInheritance); 00075 00085 OSCL_IMPORT_REF bool SetNodeLogLevelExplicit(char* tagIn, log_level_type level); 00086 00096 OSCL_IMPORT_REF void SetNodeLogLevelExplicit(Oscl_TagTree<PVLogger*, alloc_type>::node_type* node, log_level_type level); 00097 00098 private: 00099 #if (PVLOGGER_ENABLE) 00100 Oscl_TAlloc<PVLogger, alloc_type> _pvloggerAlloc; 00101 Oscl_TagTree<PVLogger*, alloc_type> _loggerTree; 00102 #endif 00103 }; 00104 00105 #endif // PVLOGGER_REGISTRY_H_INCLUDED 00106