GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
XMLHandlerMgr.h
1 #ifndef GEAR_XMLHandlerMgr_H
2 #define GEAR_XMLHandlerMgr_H 1
3 
4 
5 #include <map>
6 
7 #include "gearxml/XMLHandler.h"
8 
9 
10 namespace gear {
11 
12  typedef std::map< std::string, XMLHandler* > XMLHandlerMap ;
13 
14 
21  class XMLHandlerMgr {
22 
23 
24  public:
25 
26  static XMLHandlerMgr* instance() ;
27 
28 
31  const XMLHandler* getHandler( const std::string& type ) ;
32 
33 
36  void setHandler( const std::string& type , XMLHandler* handler ) ;
37 
38  // no need for copy-constructor or assignment operator
39  // this is a sinleton class
40 
42  ~XMLHandlerMgr() ;
43 
44  protected:
45 
46  XMLHandlerMap _map{} ;
47 
48  private:
49  XMLHandlerMgr() ;
50 
51  }; // class
52 
53 } // namespace gear
54 
55 #endif /* ifndef GEAR_XMLHandlerMgr_H */
Manager for XML handlers of GEAR classes.
Definition: XMLHandlerMgr.h:21
Interface for XML handlers of GEAR classes.
Definition: XMLHandler.h:17
const XMLHandler * getHandler(const std::string &type)
XMLHandler for given type.
~XMLHandlerMgr()
the destructor
void setHandler(const std::string &type, XMLHandler *handler)
Register XMLHandler for type.