]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/parser.h
Various fixes of issues reported by static analyzers.
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / parser.h
index 035dae8f76c3c955468a99d848086d16c21110d9..8bddc5178055cbab605b1efe0258d397a26a2f03 100644 (file)
 #define PARSER_H
 
 #include <string>
+#include <map>
 
 class ADMIN;
 
 class BASE_PARSER
 {
     public:
+        struct FACTORY
+        {
+            virtual ~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),