]> git.tdb.fi Git - builder.git/blobdiff - source/config.h
Replace the overly generic configuration profiles with something more purposeful
[builder.git] / source / config.h
index d7f7351f00d4420eb324cb492abbf388b2732645..f18487bfeeb61493bc5ab0459f81903deff13ddf 100644 (file)
@@ -31,11 +31,8 @@ public:
        typedef std::map<std::string, Option> OptionMap;
 
 private:
-       class Loader: public Msp::DataFile::Loader
+       class Loader: public Msp::DataFile::ObjectLoader<Config>
        {
-       private:
-               Config &conf;
-
        public:
                Loader(Config &);
        private:
@@ -45,7 +42,7 @@ private:
        SourcePackage &package;
        OptionMap options;
        Msp::Time::TimeStamp mtime;
-       bool freeze_mtime;
+       bool changed;
 
 public:
        Config(SourcePackage &);
@@ -62,14 +59,6 @@ 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
@@ -82,6 +71,7 @@ public:
        void save() const;
 private:
        bool set_option(const std::string &, const std::string &);
+public:
        void load();
 };