X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FSettings.cc;h=ad9c3b0fdebbb9b9eaf14a4ae5d752cad1acb278;hp=d13302d729234f2f7c6aa5710646dae82cf8a53b;hb=a5f0d391406a68275b41448fc3f49e8d8396c497;hpb=c2321281bf12a7efaedde930422c7ddbc92080d4 diff --git a/src/Moof/Settings.cc b/src/Moof/Settings.cc index d13302d..ad9c3b0 100644 --- a/src/Moof/Settings.cc +++ b/src/Moof/Settings.cc @@ -44,9 +44,16 @@ Settings::Settings(int argc, char* argv[]) } +Settings& Settings::getInstance() +{ + static Settings settings; + return settings; +} + + void Settings::parseArgs(int argc, char* argv[]) { - for (int i = 1; i < argc; i++) + for (int i = 1; i < argc; ++i) { char* where = strchr(argv[i], (int)'='); @@ -91,7 +98,7 @@ void Settings::loadFromFiles(const std::vector& filePaths, char* home = getenv("HOME"); - for (it = filePaths.begin(); it != filePaths.end(); it++) + for (it = filePaths.begin(); it != filePaths.end(); ++it) { std::string path = *it; @@ -100,13 +107,13 @@ void Settings::loadFromFiles(const std::vector& filePaths, boost::replace_first(path, "$HOME", home); } - Deserializer deserializer(*it, true); - - std::cout << "Looking for a config file at " << path << std::endl; try { + Deserializer deserializer(*it, true); + SerializablePtr obj = deserializer.deserialize(); std::map map; + if (obj && obj->get(map)) { if (!precedence)