]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/database/database-dummy.cpp
Merge pull request #59 from PrairieAstronomer/readme_irrlicht_change
[dragonfireclient.git] / src / database / database-dummy.cpp
index b56f341c5bbc63636739594da59dff2a287fa60f..629b2fb0492261cf30d71f59652a8c17318a8a5e 100644 (file)
@@ -80,3 +80,41 @@ void Database_Dummy::listPlayers(std::vector<std::string> &res)
                res.emplace_back(player);
        }
 }
+
+bool Database_Dummy::getModEntries(const std::string &modname, StringMap *storage)
+{
+       const auto mod_pair = m_mod_meta_database.find(modname);
+       if (mod_pair != m_mod_meta_database.cend()) {
+               for (const auto &pair : mod_pair->second) {
+                       (*storage)[pair.first] = pair.second;
+               }
+       }
+       return true;
+}
+
+bool Database_Dummy::setModEntry(const std::string &modname,
+       const std::string &key, const std::string &value)
+{
+       auto mod_pair = m_mod_meta_database.find(modname);
+       if (mod_pair == m_mod_meta_database.end()) {
+               m_mod_meta_database[modname] = StringMap({{key, value}});
+       } else {
+               mod_pair->second[key] = value;
+       }
+       return true;
+}
+
+bool Database_Dummy::removeModEntry(const std::string &modname, const std::string &key)
+{
+       auto mod_pair = m_mod_meta_database.find(modname);
+       if (mod_pair != m_mod_meta_database.end())
+               return mod_pair->second.erase(key) > 0;
+       return false;
+}
+
+void Database_Dummy::listMods(std::vector<std::string> *res)
+{
+       for (const auto &pair : m_mod_meta_database) {
+               res->push_back(pair.first);
+       }
+}