list func: update client config format
Change-Id: I147444d4b57dc360d6994ca9fe4f844139db777c
diff --git a/src/client-config.cpp b/src/client-config.cpp
index 7fd5280..116e1d8 100644
--- a/src/client-config.cpp
+++ b/src/client-config.cpp
@@ -27,54 +27,42 @@
void
ClientConfig::load(const std::string& fileName)
{
+ JsonSection config;
try {
- boost::property_tree::read_json(fileName, m_config);
+ boost::property_tree::read_json(fileName, config);
}
catch (const boost::property_tree::info_parser_error& error) {
BOOST_THROW_EXCEPTION(Error("Failed to parse configuration file " + fileName +
" " + error.message() + " line " + std::to_string(error.line())));
}
- if (m_config.begin() == m_config.end()) {
+ if (config.begin() == config.end()) {
BOOST_THROW_EXCEPTION(Error("Error processing configuration file: " + fileName + " no data"));
}
- parse();
+ load(config);
}
void
-ClientConfig::parse()
+ClientConfig::load(const JsonSection& configSection)
{
m_caItems.clear();
- auto caList = m_config.get_child("ca-list");
+ auto caList = configSection.get_child("ca-list");
auto it = caList.begin();
for (; it != caList.end(); it++) {
ClientCaItem item;
item.m_caName = Name(it->second.get<std::string>("ca-prefix"));
item.m_caInfo = it->second.get<std::string>("ca-info");
item.m_probe = it->second.get("probe", "");
+ item.m_targetedList = it->second.get("target-list", "");
std::istringstream ss(it->second.get<std::string>("certificate"));
item.m_anchor = *(io::load<security::v2::Certificate>(ss));
- auto challengeList = it->second.get_child("supported-challenges");
- item.m_supportedChallenges = parseChallengeList(challengeList);
-
m_caItems.push_back(item);
}
}
-std::list<std::string>
-ClientConfig::parseChallengeList(const JsonSection& section)
-{
- std::list<std::string> result;
- auto it = section.begin();
- for (; it != section.end(); it++) {
- result.push_back(it->second.get<std::string>("type"));
- }
- return result;
-}
-
void
ClientConfig::addNewCaItem(const ClientCaItem& item)
{