]> git.tdb.fi Git - builder.git/blobdiff - source/config.h
Refactor transitive dependencies to work on all targets
[builder.git] / source / config.h
diff --git a/source/config.h b/source/config.h
deleted file mode 100644 (file)
index 3257794..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef CONFIG_H_
-#define CONFIG_H_
-
-#include <map>
-#include <string>
-#include <msp/datafile/loader.h>
-#include <msp/fs/path.h>
-#include <msp/time/timestamp.h>
-#include "feature.h"
-
-class SourcePackage;
-
-/**
-Manages configuration for a package.  A configuration may have an arbitary
-amount of options, as well as a modification time (mtime).
-*/
-class Config
-{
-public:
-       /** A single configuration option. */
-       struct Option: public Feature
-       {
-               std::string value;
-
-               Option(const Feature &);
-       };
-
-       typedef std::map<std::string, Option> OptionMap;
-       typedef std::map<std::string, std::string> InputOptions;
-
-private:
-       class Loader: public Msp::DataFile::ObjectLoader<Config>
-       {
-       public:
-               Loader(Config &);
-       private:
-               void option(const std::string &, const std::string &);
-       };
-
-       SourcePackage &package;
-       OptionMap options;
-       InputOptions pending_options;
-       Msp::Time::TimeStamp mtime;
-       mutable bool changed;
-
-public:
-       Config(SourcePackage &);
-
-       /** Adds a configuration option based on a feature. */
-       const Option &add_option(const Feature &);
-
-       bool set_option(const std::string &, const std::string &);
-
-       /** Checks whether an option exists. */
-       bool is_option(const std::string &) const;
-
-       /** Gets a configuration option by name. */
-       const Option &get_option(const std::string &) const;
-
-       const OptionMap &get_options() const { return options; }
-       const Msp::Time::TimeStamp &get_mtime() const { return mtime; }
-
-       void load();
-       void save() const;
-};
-
-#endif