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*>(&parameters);
-    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