00001 #ifndef GEAR_XMLHandlerMgr_H
00002 #define GEAR_XMLHandlerMgr_H 1
00003
00004
00005 #include <map>
00006
00007 #include "gearxml/XMLHandler.h"
00008
00009
00010 namespace gear {
00011
00012 typedef std::map< std::string, XMLHandler* > XMLHandlerMap ;
00013
00014
00021 class XMLHandlerMgr {
00022
00023
00024 public:
00025
00026 static XMLHandlerMgr* instance() ;
00027
00028
00031 const XMLHandler* getHandler( const std::string& type ) ;
00032
00033
00036 const void setHandler( const std::string& type , XMLHandler* handler ) ;
00037
00038
00039 protected:
00040
00041 XMLHandlerMap _map ;
00042
00043 private:
00044 XMLHandlerMgr() ;
00045 static XMLHandlerMgr* _me ;
00046
00047 };
00048
00049 }
00050
00051 #endif