From: Mikko Rasa Date: Mon, 16 Jul 2012 22:27:50 +0000 (+0300) Subject: Reorder Config members X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=c63d5e1c1a1b3c095a94d1e21a302aaa694dd656;p=builder.git Reorder Config members --- diff --git a/source/config.cpp b/source/config.cpp index f311003..11092c1 100644 --- a/source/config.cpp +++ b/source/config.cpp @@ -24,30 +24,6 @@ void Config::add_option(const string &n, const string &v, const string &d) options.insert(OptionMap::value_type(n, opt)); } -const Config::Option &Config::get_option(const string &name) const -{ - return get_item(options, name); -} - -bool Config::is_option(const string &name) const -{ - return options.count(name); -} - -void Config::save() const -{ - if(!changed) - return; - - FS::Path fn = package.get_source_directory()/".config"; - - package.get_builder().get_logger().log("files", format("Writing %s", fn)); - IO::BufferedFile out(fn.str(), IO::M_WRITE); - - for(OptionMap::const_iterator i=options.begin(); i!=options.end(); ++i) - IO::print(out, "option \"%s\" \"%s\";\n", i->second.name, i->second.value); -} - bool Config::set_option(const string &opt, const string &val) { bool result = false; @@ -66,6 +42,16 @@ bool Config::set_option(const string &opt, const string &val) return result; } +bool Config::is_option(const string &name) const +{ + return options.count(name); +} + +const Config::Option &Config::get_option(const string &name) const +{ + return get_item(options, name); +} + void Config::load() { FS::Path fn = package.get_source_directory()/".config"; @@ -83,6 +69,20 @@ void Config::load() } } +void Config::save() const +{ + if(!changed) + return; + + FS::Path fn = package.get_source_directory()/".config"; + + package.get_builder().get_logger().log("files", format("Writing %s", fn)); + IO::BufferedFile out(fn.str(), IO::M_WRITE); + + for(OptionMap::const_iterator i=options.begin(); i!=options.end(); ++i) + IO::print(out, "option \"%s\" \"%s\";\n", i->second.name, i->second.value); +} + Config::Option::Option(const string &n, const string &v, const string &d): name(n), diff --git a/source/config.h b/source/config.h index 91a6ef0..92f5585 100644 --- a/source/config.h +++ b/source/config.h @@ -52,18 +52,19 @@ public: /** Adds a configuration option with name, default value and description. */ void add_option(const std::string &, const std::string &, const std::string &); + 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; } - /** Checks whether an option exists. */ - bool is_option(const std::string &) const; - - void save() const; - bool set_option(const std::string &, const std::string &); void load(); + void save() const; }; #endif