X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fconfig.h;h=91a6ef07e7c7e75845994b361ab2f2d0c3cd493d;hb=93db1636eac4ded5d89555d4c7e06b2126c3e4b0;hp=6babde995d94ad7628d70f385bead9ed211a067a;hpb=c51884994862b02613c2c0ae75b1f8d39e0f1ee5;p=builder.git diff --git a/source/config.h b/source/config.h index 6babde9..91a6ef0 100644 --- a/source/config.h +++ b/source/config.h @@ -21,14 +21,15 @@ public: struct Option { std::string name; - std::string defv; - std::string descr; + std::string default_value; + std::string description; std::string value; Option(const std::string &, const std::string &, const std::string &); }; typedef std::map OptionMap; + typedef std::map InputOptions; private: class Loader: public Msp::DataFile::ObjectLoader @@ -41,8 +42,9 @@ private: SourcePackage &package; OptionMap options; + InputOptions pending_options; Msp::Time::TimeStamp mtime; - bool freeze_mtime; + bool changed; public: Config(SourcePackage &); @@ -59,25 +61,7 @@ public: /** Checks whether an option exists. */ bool is_option(const std::string &) const; - /** Selects the last profile used. If the profile cache file is not - present, the default profile is assumed. */ - void select_last_profile(); - - /** Selects a profile. The profile cache file is updated, unless doing a - dry run. */ - void select_profile(const std::string &); - - /** Processes options from the given raw option map. Nonexistent options - are ignored. If any options were changed, the mtime of the configuration is - updated to the current time. Return value indicates whether any options - were changed. */ - bool update(const StringMap &); - - /** Expands any variable references in options. */ - void finish(); - void save() const; -private: bool set_option(const std::string &, const std::string &); void load(); };