util/I_LogFactory.h

Go to the documentation of this file.
00001 /*----------------------------------------------------------------------------
00002 Name:      I_LogFactory.h
00003 Project:   xmlBlaster.org
00004 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00005 -----------------------------------------------------------------------------*/
00006 
00007 #ifndef _ORG_XMLBLASTER_UTIL_I_LOGFACTORY_H
00008 #define _ORG_XMLBLASTER_UTIL_I_LOGFACTORY_H
00009 
00010 #include <util/xmlBlasterDef.h>
00011 #include <string>
00012 #include <map>
00013 #include <util/I_Log.h>
00014 
00022 namespace org { namespace xmlBlaster { namespace util {
00023    
00024    class Dll_Export I_LogFactory {
00025       
00026    public:
00027       typedef std::map<std::string, std::string, std::less<std::string> > PropMap;
00028 
00029    protected:
00030       PropMap propMap_;
00031 
00032    public:
00033       //I_LogFactory() {}
00034       
00035       virtual ~I_LogFactory() {}
00036 
00042       virtual void initialize(const PropMap& propMap) { propMap_ = propMap; };
00043 
00049       virtual I_Log& getLog(const std::string& name="") = 0;
00050       
00055       virtual void releaseLog(const std::string& name="") = 0;
00056 
00057    }; // end of class I_LogFactory
00058 
00059 
00060 
00061 }}} // end of namespace util
00062 
00063 #endif // _ORG_XMLBLASTER_UTIL_I_LOGFACTORY_H