mgmt: adapt to API changes in ndn-cxx ControlCommand and Dispatcher

Change-Id: I7515353444366d0a36fe962deeae70ef567334ac
diff --git a/tests/daemon/mgmt/manager-base.t.cpp b/tests/daemon/mgmt/manager-base.t.cpp
index cf24989..2fcdd62 100644
--- a/tests/daemon/mgmt/manager-base.t.cpp
+++ b/tests/daemon/mgmt/manager-base.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2025,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -29,25 +29,22 @@
 
 namespace nfd::tests {
 
-class TestCommandVoidParameters : public ControlCommand
+class TestCommandVoidParameters : public ndn::nfd::ControlCommand<TestCommandVoidParameters>
 {
-public:
-  TestCommandVoidParameters()
-    : ControlCommand("test-module", "test-void-parameters")
-  {
-  }
+  NDN_CXX_CONTROL_COMMAND(TestCommandVoidParameters, "test-module", "test-void-parameters");
 };
 
-class TestCommandRequireName : public ControlCommand
+const TestCommandVoidParameters::RequestFormat TestCommandVoidParameters::s_requestFormat;
+
+class TestCommandRequireName : public ndn::nfd::ControlCommand<TestCommandRequireName>
 {
-public:
-  TestCommandRequireName()
-    : ControlCommand("test-module", "test-require-name")
-  {
-    m_requestValidator.required(ndn::nfd::CONTROL_PARAMETER_NAME);
-  }
+  NDN_CXX_CONTROL_COMMAND(TestCommandRequireName, "test-module", "test-require-name");
 };
 
+const TestCommandRequireName::RequestFormat TestCommandRequireName::s_requestFormat =
+    RequestFormat()
+    .required(ndn::nfd::CONTROL_PARAMETER_NAME);
+
 class DummyManager final : public ManagerBase
 {
 public:
@@ -59,12 +56,12 @@
 
 private:
   ndn::mgmt::Authorization
-  makeAuthorization(const std::string& verb) final
+  makeAuthorization(const std::string&) final
   {
     return [] (const Name& prefix, const Interest& interest,
-               const ndn::mgmt::ControlParameters* params,
-               ndn::mgmt::AcceptContinuation accept,
-               ndn::mgmt::RejectContinuation reject) {
+               const ndn::mgmt::ControlParametersBase* params,
+               const ndn::mgmt::AcceptContinuation& accept,
+               const ndn::mgmt::RejectContinuation& reject) {
       accept("requester");
     };
   }
@@ -98,6 +95,10 @@
 
   testRegisterCommandHandler("/localhost/nfd/test-module/test-require-name");
   BOOST_CHECK(!wasHandlerCalled);
+
+  testRegisterCommandHandler(Name("/localhost/nfd/test-module/test-require-name")
+                             .append(ControlParameters().setName("test-name").wireEncode()));
+  BOOST_CHECK(wasHandlerCalled);
 }
 
 BOOST_AUTO_TEST_CASE(RegisterStatusDataset)
@@ -149,19 +150,6 @@
                     .getDefaultKey().getDefaultCertificate().getName().toUri());
 }
 
-BOOST_AUTO_TEST_CASE(ValidateParameters)
-{
-  ControlParameters params;
-  TestCommandVoidParameters commandVoidParams;
-  TestCommandRequireName commandRequireName;
-
-  BOOST_CHECK_EQUAL(ManagerBase::validateParameters(commandVoidParams, params), true); // succeeds
-  BOOST_CHECK_EQUAL(ManagerBase::validateParameters(commandRequireName, params), false); // fails
-
-  params.setName("test-name");
-  BOOST_CHECK_EQUAL(ManagerBase::validateParameters(commandRequireName, params), true); // succeeds
-}
-
 BOOST_AUTO_TEST_CASE(MakeRelPrefix)
 {
   auto generatedRelPrefix = m_manager.makeRelPrefix("test-verb");
diff --git a/tests/daemon/mgmt/manager-common-fixture.hpp b/tests/daemon/mgmt/manager-common-fixture.hpp
index 954cef2..c8f5498 100644
--- a/tests/daemon/mgmt/manager-common-fixture.hpp
+++ b/tests/daemon/mgmt/manager-common-fixture.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2025,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -112,7 +112,7 @@
    * @brief Check a specified response data with the expected ControlResponse.
    *
    * @param idx the index of the specified Data in m_responses
-   * @param expectedDataName the expected name of this Data
+   * @param expectedName the expected name of this Data
    * @param expectedResponse the expected ControlResponse
    * @param expectedContentType the expected content type of this Data, use -1 to skip this check
    *
@@ -157,7 +157,8 @@
 class ManagerFixtureWithAuthenticator : public ManagerCommonFixture
 {
 public:
-  /** \brief Grant m_identityName privilege to sign commands for the management module.
+  /**
+   * \brief Grant m_identityName privilege to sign commands for the management module.
    */
   void
   setPrivilege(const std::string& privilege);
diff --git a/tests/tools/nfdc/rib-module.t.cpp b/tests/tools/nfdc/rib-module.t.cpp
index f349dfd..cc01018 100644
--- a/tests/tools/nfdc/rib-module.t.cpp
+++ b/tests/tools/nfdc/rib-module.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2025,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -207,9 +207,8 @@
     }
 
     ControlParameters req = MOCK_NFD_MGMT_REQUIRE_COMMAND_IS("/localhost/nfd/rib/register");
-    ndn::nfd::RibRegisterCommand cmd;
-    cmd.validateRequest(req);
-    cmd.applyDefaultsToRequest(req);
+    ndn::nfd::RibRegisterCommand::validateRequest(req);
+    ndn::nfd::RibRegisterCommand::applyDefaultsToRequest(req);
     BOOST_CHECK_EQUAL(req.getName(), "/vxXoEaWeDB");
     BOOST_CHECK_EQUAL(req.getFaceId(), 10156);
     BOOST_CHECK_EQUAL(req.getOrigin(), ndn::nfd::ROUTE_ORIGIN_STATIC);
@@ -235,9 +234,8 @@
     }
 
     ControlParameters req = MOCK_NFD_MGMT_REQUIRE_COMMAND_IS("/localhost/nfd/rib/register");
-    ndn::nfd::RibRegisterCommand cmd;
-    cmd.validateRequest(req);
-    cmd.applyDefaultsToRequest(req);
+    ndn::nfd::RibRegisterCommand::validateRequest(req);
+    ndn::nfd::RibRegisterCommand::applyDefaultsToRequest(req);
     BOOST_CHECK_EQUAL(req.getName(), "/FLQAsaYnYf");
     BOOST_CHECK_EQUAL(req.getFaceId(), 2249);
     BOOST_CHECK_EQUAL(req.getOrigin(), 17591);
@@ -280,9 +278,8 @@
     }
     else if (Name("/localhost/nfd/faces/create").isPrefixOf(interest.getName())) {
       ControlParameters req = MOCK_NFD_MGMT_REQUIRE_COMMAND_IS("/localhost/nfd/faces/create");
-      ndn::nfd::FaceCreateCommand cmd;
-      cmd.validateRequest(req);
-      cmd.applyDefaultsToRequest(req);
+      ndn::nfd::FaceCreateCommand::validateRequest(req);
+      ndn::nfd::FaceCreateCommand::applyDefaultsToRequest(req);
       BOOST_CHECK_EQUAL(req.getUri(), "udp4://202.83.168.28:6363");
 
       ControlParameters resp = req;
@@ -297,15 +294,13 @@
     }
     else if (Name("/localhost/nfd/rib/register").isPrefixOf(interest.getName())) {
       ControlParameters req = MOCK_NFD_MGMT_REQUIRE_COMMAND_IS("/localhost/nfd/rib/register");
-      ndn::nfd::RibRegisterCommand cmd;
-      cmd.validateRequest(req);
-      cmd.applyDefaultsToRequest(req);
+      ndn::nfd::RibRegisterCommand::validateRequest(req);
+      ndn::nfd::RibRegisterCommand::applyDefaultsToRequest(req);
       BOOST_CHECK_EQUAL(req.getName(), "/634jfAfdf");
       BOOST_CHECK_EQUAL(req.getFaceId(), 255);
       BOOST_CHECK_EQUAL(req.getOrigin(), 17591);
       BOOST_CHECK_EQUAL(req.getCost(), 702);
-      BOOST_CHECK_EQUAL(req.getFlags(), ndn::nfd::ROUTE_FLAG_CHILD_INHERIT |
-                                        ndn::nfd::ROUTE_FLAG_CAPTURE);
+      BOOST_CHECK_EQUAL(req.getFlags(), ndn::nfd::ROUTE_FLAG_CHILD_INHERIT | ndn::nfd::ROUTE_FLAG_CAPTURE);
       BOOST_REQUIRE_EQUAL(req.hasExpirationPeriod(), true);
       BOOST_REQUIRE_EQUAL(req.getExpirationPeriod(), 727411987_ms);
 
@@ -405,9 +400,8 @@
     }
 
     ControlParameters req = MOCK_NFD_MGMT_REQUIRE_COMMAND_IS("/localhost/nfd/rib/unregister");
-    ndn::nfd::RibUnregisterCommand cmd;
-    cmd.validateRequest(req);
-    cmd.applyDefaultsToRequest(req);
+    ndn::nfd::RibUnregisterCommand::validateRequest(req);
+    ndn::nfd::RibUnregisterCommand::applyDefaultsToRequest(req);
     BOOST_CHECK_EQUAL(req.getName(), "/2B5NUGjpt");
     BOOST_CHECK_EQUAL(req.getFaceId(), 10156);
     BOOST_CHECK_EQUAL(req.getOrigin(), ndn::nfd::ROUTE_ORIGIN_STATIC);
@@ -429,9 +423,8 @@
     }
 
     ControlParameters req = MOCK_NFD_MGMT_REQUIRE_COMMAND_IS("/localhost/nfd/rib/unregister");
-    ndn::nfd::RibUnregisterCommand cmd;
-    cmd.validateRequest(req);
-    cmd.applyDefaultsToRequest(req);
+    ndn::nfd::RibUnregisterCommand::validateRequest(req);
+    ndn::nfd::RibUnregisterCommand::applyDefaultsToRequest(req);
     BOOST_CHECK_EQUAL(req.getName(), "/wHdNn0BtUF");
     BOOST_CHECK_EQUAL(req.getFaceId(), 2249);
     BOOST_CHECK_EQUAL(req.getOrigin(), 15246);
@@ -454,9 +447,8 @@
     }
 
     ControlParameters req = MOCK_NFD_MGMT_REQUIRE_COMMAND_IS("/localhost/nfd/rib/unregister");
-    ndn::nfd::RibUnregisterCommand cmd;
-    cmd.validateRequest(req);
-    cmd.applyDefaultsToRequest(req);
+    ndn::nfd::RibUnregisterCommand::validateRequest(req);
+    ndn::nfd::RibUnregisterCommand::applyDefaultsToRequest(req);
     BOOST_TEST_INFO_SCOPE("FaceId=" << req.getFaceId());
     BOOST_CHECK_EQUAL(req.getName(), "/nm5y8X8b2");
     BOOST_CHECK(faceIds.erase(req.getFaceId()));