aboutsummaryrefslogtreecommitdiff
path: root/src/database/database-files.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/database-files.cpp')
-rw-r--r--src/database/database-files.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/database/database-files.cpp b/src/database/database-files.cpp
index eff08de12..0b94b28f2 100644
--- a/src/database/database-files.cpp
+++ b/src/database/database-files.cpp
@@ -396,6 +396,21 @@ bool ModMetadataDatabaseFiles::getModEntries(const std::string &modname, StringM
return true;
}
+bool ModMetadataDatabaseFiles::getModKeys(const std::string &modname,
+ std::vector<std::string> *storage)
+{
+ Json::Value *meta = getOrCreateJson(modname);
+ if (!meta)
+ return false;
+
+ std::vector<std::string> keys = meta->getMemberNames();
+ storage->reserve(storage->size() + keys.size());
+ for (std::string &key : keys)
+ storage->push_back(std::move(key));
+
+ return true;
+}
+
bool ModMetadataDatabaseFiles::getModEntry(const std::string &modname,
const std::string &key, std::string *value)
{