aboutsummaryrefslogtreecommitdiff
path: root/src/database/database-dummy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/database-dummy.cpp')
-rw-r--r--src/database/database-dummy.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/database/database-dummy.cpp b/src/database/database-dummy.cpp
index a44762d8a..ee88c6684 100644
--- a/src/database/database-dummy.cpp
+++ b/src/database/database-dummy.cpp
@@ -92,6 +92,32 @@ bool Database_Dummy::getModEntries(const std::string &modname, StringMap *storag
return true;
}
+bool Database_Dummy::getModEntry(const std::string &modname,
+ const std::string &key, std::string *value)
+{
+ auto mod_pair = m_mod_meta_database.find(modname);
+ if (mod_pair == m_mod_meta_database.end())
+ return false;
+ const StringMap &meta = mod_pair->second;
+
+ auto pair = meta.find(key);
+ if (pair != meta.end()) {
+ *value = pair->second;
+ return true;
+ }
+ return false;
+}
+
+bool Database_Dummy::hasModEntry(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 false;
+ const StringMap &meta = mod_pair->second;
+
+ return meta.find(key) != meta.cend();
+}
+
bool Database_Dummy::setModEntry(const std::string &modname,
const std::string &key, const std::string &value)
{
@@ -112,6 +138,16 @@ bool Database_Dummy::removeModEntry(const std::string &modname, const std::strin
return false;
}
+bool Database_Dummy::removeModEntries(const std::string &modname)
+{
+ auto mod_pair = m_mod_meta_database.find(modname);
+ if (mod_pair != m_mod_meta_database.end() && !mod_pair->second.empty()) {
+ mod_pair->second.clear();
+ return true;
+ }
+ return false;
+}
+
void Database_Dummy::listMods(std::vector<std::string> *res)
{
for (const auto &pair : m_mod_meta_database) {