From cd8a7fe47298be12620cab62be8cf0816fabb095 Mon Sep 17 00:00:00 2001 From: Jude Melton-Houghton Date: Tue, 15 Nov 2022 10:45:12 -0500 Subject: Add MetaDataRef:get_keys (#12841) --- src/database/database-files.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/database/database-files.cpp') 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 *storage) +{ + Json::Value *meta = getOrCreateJson(modname); + if (!meta) + return false; + + std::vector 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) { -- cgit v1.2.3