]> Dogcows Code - chaz/yoink/blobdiff - src/settings.hh
main loop code fixed to decouple updates and draws
[chaz/yoink] / src / settings.hh
index 5cb09722bd43530aa48668eaa2f091b58fc35804..f2a7aedc4151ee9ee60336cdc9b0d23fae7eef22 100644 (file)
@@ -51,10 +51,15 @@ public:
        settings(int argc, char* argv[]);
 
        void parseArgs(int argc, char* argv[]);
-       void loadFromFile(std::string filePath);
+
+       void loadFromFile(const std::string& filePath, bool precedence = false);
+       void loadFromFiles(const std::vector<std::string>& filePaths,
+                       bool precedence = false);
 
        template <typename T>
        bool get(const std::string& key, T& value);
+       template <typename T>
+       bool getNumber(const std::string& key, T& value);
 
 private:
        std::map<std::string,serializable_ptr> map;
@@ -77,8 +82,25 @@ bool settings::get(const std::string& key, T& value)
        }
 }
 
+template <typename T>
+bool settings::getNumber(const std::string& key, T& value)
+{
+       std::map<std::string,serializable_ptr>::const_iterator i = map.find(key);
+
+       if (i != map.end())
+       {
+               serializable_ptr obj = (*i).second;
+               return obj->getNumber(value);
+       }
+       else
+       {
+               return false;
+       }
+}
 
 } // namepsace dc
 
 #endif // _SETTINGS_HH_
 
+/** vim: set ts=4 sw=4 tw=80: *************************************************/
+
This page took 0.017002 seconds and 4 git commands to generate.