]> 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 16094e0cb4a4e8ca0263ef34d6b5ac349fdae5e9..f18487bfeeb61493bc5ab0459f81903deff13ddf 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of builder
-Copyright © 2006-2009  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #ifndef CONFIG_H_
 #define CONFIG_H_
 
@@ -38,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:
@@ -52,7 +42,7 @@ private:
        SourcePackage &package;
        OptionMap options;
        Msp::Time::TimeStamp mtime;
-       bool freeze_mtime;
+       bool changed;
 
 public:
        Config(SourcePackage &);
@@ -69,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
@@ -89,6 +71,7 @@ public:
        void save() const;
 private:
        bool set_option(const std::string &, const std::string &);
+public:
        void load();
 };