X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FSettings.cc;h=624179ce36998c16efed54b1b75414f97c7d28b7;hp=ccf690af65e395f93142a08eb891cde8e7a31c77;hb=fdfba4553433b9b2804c2772c7645211b828c2ea;hpb=16d1a05b0777e97a45c48e2874aa4e5cc791282e diff --git a/src/Moof/Settings.cc b/src/Moof/Settings.cc index ccf690a..624179c 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)'='); @@ -62,14 +69,14 @@ void Settings::parseArgs(int argc, char* argv[]) try { - SerializablePtr value(deserializer.deserialize()); + SerializableP value(deserializer.deserialize()); map_[key] = value; } catch (std::exception e) { // it doesn't deserialize to anything we know, so just store it // as a string - map_[key] = SerializablePtr(new SerializableString(stringValue)); + map_[key] = SerializableP(new SerializableBasic(stringValue)); } } } @@ -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; @@ -104,8 +111,8 @@ void Settings::loadFromFiles(const std::vector& filePaths, { Deserializer deserializer(*it, true); - SerializablePtr obj = deserializer.deserialize(); - std::map map; + SerializableP obj = deserializer.deserialize(); + Serializable::Map map; if (obj && obj->get(map)) {