X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/46432ca916d65b4801a11f7b8196201bea6d2d2d..9b3f8c7252b92a7b32996aa3c2b5e5c16361c82d:/projects/sgconf/action.h

diff --git a/projects/sgconf/action.h b/projects/sgconf/action.h
index 64d7c1e8..940ea7f6 100644
--- a/projects/sgconf/action.h
+++ b/projects/sgconf/action.h
@@ -22,6 +22,7 @@
 #define __STG_SGCONF_ACTION_H__
 
 #include <string>
+#include <map>
 #include <stdexcept>
 
 namespace SGCONF
@@ -29,6 +30,7 @@ namespace SGCONF
 
 class OPTION_BLOCK;
 struct PARSER_STATE;
+struct CONFIG;
 
 class ACTION
 {
@@ -39,7 +41,8 @@ class ACTION
         virtual std::string ParamDescription() const = 0;
         virtual std::string DefaultDescription() const = 0;
         virtual OPTION_BLOCK & Suboptions() = 0;
-        virtual PARSER_STATE Parse(int argc, char ** argv) = 0;
+        virtual PARSER_STATE Parse(int argc, char ** argv, void * data = NULL) = 0;
+        virtual void ParseValue(const std::string &) {}
 
         class ERROR : public std::runtime_error
         {
@@ -49,13 +52,6 @@ class ACTION
         };
 };
 
-template <typename T>
-class ACTION_CLONE_MIXIN : public ACTION
-{
-    public:
-        virtual ACTION * Clone() const { return new T(*this); }
-};
-
 } // namespace SGCONF
 
 #endif