X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fconfig.h;h=1f7fa712839f5b5bdc346681e3a346c117aafba4;hb=69cd5cc73f466181420711fb907979de58687a4c;hp=94997750b26497c4ab83003f41382b78b13104fb;hpb=f76c063eb9b792088e034ffb4c2f173b843e8c57;p=builder.git diff --git a/source/config.h b/source/config.h index 9499775..1f7fa71 100644 --- a/source/config.h +++ b/source/config.h @@ -6,6 +6,7 @@ #include #include #include +#include "feature.h" class SourcePackage; @@ -17,14 +18,11 @@ class Config { public: /** A single configuration option. */ - struct Option + struct Option: public Feature { - std::string name; - std::string default_value; - std::string description; std::string value; - Option(const std::string &, const std::string &, const std::string &); + Option(const Feature &); }; typedef std::map OptionMap; @@ -48,8 +46,8 @@ private: public: Config(SourcePackage &); - /** Adds a configuration option with name, default value and description. */ - void add_option(const std::string &, const std::string &, const std::string &); + /** Adds a configuration option based on a feature. */ + const Option &add_option(const Feature &); bool set_option(const std::string &, const std::string &);