#define __STG_SGCONF_ACTION_H__
#include <string>
+#include <map>
#include <stdexcept>
namespace SGCONF
class OPTION_BLOCK;
struct PARSER_STATE;
+struct CONFIG;
class ACTION
{
public:
virtual ~ACTION() {}
+ virtual ACTION * Clone() const = 0;
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
{