mgmt: adapt to API changes in ndn-cxx ControlCommand and Dispatcher
Change-Id: Iabedb5d6bbe34883c21015c8d74f68e9ba2a7f58
diff --git a/src/update/manager-base.hpp b/src/update/manager-base.hpp
index db6ef62..12b6f3c 100644
--- a/src/update/manager-base.hpp
+++ b/src/update/manager-base.hpp
@@ -65,18 +65,14 @@
PUBLIC_WITH_TESTS_ELSE_PROTECTED:
/*! \brief Validate the parameters for a given command.
*/
- template<typename T>
+ template<typename Command>
static bool
- validateParameters(const ndn::mgmt::ControlParameters& parameters)
+ validateParameters(const ndn::mgmt::ControlParametersBase& parameters)
{
- const auto* castParams = dynamic_cast<const ndn::nfd::ControlParameters*>(¶meters);
- BOOST_ASSERT(castParams != nullptr);
-
- T command;
try {
- command.validateRequest(*castParams);
+ Command::validateRequest(dynamic_cast<const ndn::nfd::ControlParameters&>(parameters));
}
- catch (const ndn::nfd::ControlCommand::ArgumentError&) {
+ catch (const ndn::nfd::ArgumentError&) {
throw;
}
catch (const std::exception& e) {
@@ -110,7 +106,7 @@
void
advertiseAndInsertPrefix(const ndn::Name& prefix,
const ndn::Interest& interest,
- const ndn::mgmt::ControlParameters& parameters,
+ const ndn::mgmt::ControlParametersBase& parameters,
const ndn::mgmt::CommandContinuation& done);
/*! \brief remove desired name prefix from the advertised name prefix list
@@ -119,7 +115,7 @@
void
withdrawAndRemovePrefix(const ndn::Name& prefix,
const ndn::Interest& interest,
- const ndn::mgmt::ControlParameters& parameters,
+ const ndn::mgmt::ControlParametersBase& parameters,
const ndn::mgmt::CommandContinuation& done);
/*! \brief save an advertised prefix to the nlsr configuration file