29 #define _unused(x) ((void)(x)) 33 #include "SUAPI-CppWrapper/model/OptionsManager.hpp" 37 OptionsManager::OptionsManager()
40 OptionsManager::OptionsManager(SUOptionsManagerRef ref): m_options_manager(ref)
43 std::vector<std::string> OptionsManager::get_provider_names()
const 45 size_t num_requested = 0;
46 size_t num_returned = 0;
47 SUResult res = SUOptionsManagerGetNumOptionsProviders(m_options_manager, &num_requested);
48 std::vector<SUStringRef> refs(num_requested);
49 for(
auto i = 0; i < num_requested; i++) {
50 res = SUStringCreate(&refs[i]);
51 assert(res == SU_ERROR_NONE);
53 res = SUOptionsManagerGetOptionsProviderNames(m_options_manager, num_requested, &refs[0], &num_returned);
54 assert(res == SU_ERROR_NONE); _unused(res);
55 std::vector<std::string> keys;
56 for(
auto i = 0; i < refs.size(); i++) {
57 keys.push_back(String(refs[i]));
62 OptionsProvider OptionsManager::get_provider(
const std::string& name)
64 SUOptionsProviderRef provider = SU_INVALID;
65 SUResult res = SUOptionsManagerGetOptionsProviderByName(m_options_manager, &name[0], &provider);
66 assert(res == SU_ERROR_NONE); _unused(res);
67 return OptionsProvider(provider);
75 OptionsProvider::OptionsProvider()
79 OptionsProvider::OptionsProvider(SUOptionsProviderRef provider_ref):
80 m_options_provider(provider_ref)
83 std::vector<std::string> OptionsProvider::keys()
const 85 std::vector<std::string> keys;
86 size_t num_requested = 0;
87 SUResult res = SUOptionsProviderGetNumKeys(m_options_provider, &num_requested);
88 assert(res == SU_ERROR_NONE);
89 if(num_requested == 0)
92 size_t num_returned = 0;
93 std::vector<SUStringRef> refs(num_requested);
94 for(
auto i = 0; i < num_requested; i++) {
95 res = SUStringCreate(&refs[i]);
96 assert(res == SU_ERROR_NONE);
98 res = SUOptionsProviderGetKeys(m_options_provider, num_requested, &refs[0], &num_returned);
99 assert(res == SU_ERROR_NONE); _unused(res);
101 for(
auto i = 0; i < refs.size(); i++) {
102 keys.push_back(String(refs[i]));
108 TypedValue OptionsProvider::get_value(std::string key)
const 110 const char* key_char = key.c_str();
112 SUTypedValueRef *t = tval;
113 SUResult res = SUOptionsProviderGetValue(m_options_provider, key_char, t);
114 assert(res == SU_ERROR_NONE); _unused(res);
118 bool OptionsProvider::set_value(std::string key,
const TypedValue& tval)
120 SUTypedValueRef t = tval.ref();
121 SUResult res = SUOptionsProviderSetValue(m_options_provider, key.c_str(), t);
122 if(res == SU_ERROR_NONE)