From 312950417858a9d89446889fdee2e5988a699861 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Mon, 27 May 2019 00:51:39 -0400 Subject: Add API to query settings properties. --- settings.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'settings.cpp') 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 Settings::QueryProperty>(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 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()); -- cgit v1.3.1