]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/parser.h
Ticket 37. The message variable definition moved from if() construction
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / parser.h
index 035dae8f76c3c955468a99d848086d16c21110d9..af77158d6324d1032a922d9c503fa45b9035fe58 100644 (file)
 #define PARSER_H
 
 #include <string>
 #define PARSER_H
 
 #include <string>
+#include <map>
 
 class ADMIN;
 
 class BASE_PARSER
 {
     public:
 
 class ADMIN;
 
 class BASE_PARSER
 {
     public:
+        struct FACTORY
+        {
+            virtual BASE_PARSER * create(const ADMIN & admin) = 0;
+        };
+        typedef std::map<std::string, FACTORY *> REGISTRY;
+
         BASE_PARSER(const ADMIN & admin, const std::string & t)
             : m_currAdmin(admin),
               m_depth(0),
         BASE_PARSER(const ADMIN & admin, const std::string & t)
             : m_currAdmin(admin),
               m_depth(0),