summaryrefslogtreecommitdiff
path: root/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'settings.cpp')
-rw-r--r--settings.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/settings.cpp b/settings.cpp
index 6f1640a6..1c7bc819 100644
--- a/settings.cpp
+++ b/settings.cpp
@@ -18,6 +18,21 @@ bool Settings::RegisterSetting(const string& id, const string& properties)
}
+template<> vector<string> Settings::QueryProperty<vector<string>>(const string& id, const string& property)
+{
+ size_t size = 0;
+ char** outBuffer = (char**)BNSettingsQueryPropertyStringList(m_registry.c_str(), id.c_str(), property.c_str(), &size);
+
+ vector<string> result;
+ result.reserve(size);
+ for (size_t i = 0; i < size; i++)
+ result.emplace_back(outBuffer[i]);
+
+ BNFreeStringList(outBuffer, size);
+ return result;
+}
+
+
bool Settings::UpdateProperty(const std::string& id, const std::string& property)
{
return BNSettingsUpdateProperty(m_registry.c_str(), id.c_str(), property.c_str());