in src/oomd/config/JsonConfigParser.cpp [44:72]
T parsePlugin(const Json::Value& plugin) {
if (!plugin.isObject()) {
return {};
}
const auto& name = plugin["name"];
if (!name.isString()) {
return {};
}
T ret;
ret.name = name.asString();
const auto& json_args = plugin["args"];
if (!json_args.isObject()) {
return ret;
}
for (const auto& key : json_args.getMemberNames()) {
const auto& value = json_args[key];
// Value has to be a string, number, or bool
if (!value.isString() && !value.isNumeric() && !value.isBool()) {
return ret;
}
ret.args[key] = value.asString();
}
return ret;
}