X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/1b2ab8e6d556a8ed30d4feadc72263b3f4c86665..51998949e60e2a7e86e4393b315cfb76a58ca80d:/projects/sgconf/action.h?ds=sidebyside 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 +#include #include 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 -class ACTION_CLONE_MIXIN : public ACTION -{ - public: - virtual ACTION * Clone() const { return new T(*this); } -}; - } // namespace SGCONF #endif