TranslatorLogger::getLoggerKea(const string& xpath) {
ConstElementPtr name = getItem(xpath + "/name");
if (!name) {
- return (ElementPtr());
+ // Can't happen as name is the key.
+ isc_throw(Unexpected, "getLoggerKea requires name: " << xpath);
}
ElementPtr result = Element::createMap();
result->set("name", name);
TranslatorLogger::getOutputOption(const string& xpath) {
ConstElementPtr output = getItem(xpath + "/output");
if (!output) {
- return (ElementPtr());
+ // Can't happen as output is the key.
+ isc_throw(Unexpected, "getOutputOption requires (!output): " << xpath);
}
ElementPtr result = Element::createMap();
result->set("output", output);
TranslatorLogger::getOutputOptions(const string& xpath) {
S_Iter_Value iter = getIter(xpath + "/*");
if (!iter) {
- return (ElementPtr());
+ // Can't happen.
+ isc_throw(Unexpected, "getOutputOptions: can't get iterator: "
+ << xpath);
}
ElementPtr result = Element::createList();
for (;;) {
TranslatorLoggers::getLoggersKea(const string& xpath) {
S_Iter_Value iter = getIter(xpath + "/*");
if (!iter) {
- return (ElementPtr());
+ // Can't happen.
+ isc_throw(Unexpected, "getLoggersKea: can't get iterator: " << xpath);
}
ElementPtr result = Element::createList();
for (;;) {
///
/// @param xpath The xpath of the output options.
/// @param elem The JSON element.
+ /// @throw BadValue on an output option without output.
void setOutputOptions(const std::string& xpath,
isc::data::ConstElementPtr elem);
///
/// @param xpath The xpath of loggers.
/// @param elem The JSON element.
+ /// @throw BadValue on a logger without name.
void setLoggersKea(const std::string& xpath,
isc::data::ConstElementPtr elem);