rib: turn RibUpdate into an aggregate

And move it together with RibUpdateList and RibUpdateBatch.
Also remove a few unused functions from RibEntry.

Change-Id: Id4f79fda27d3bffb8411e2a95c24154e2cb80c4f
diff --git a/tests/daemon/rib/fib-updates-common.hpp b/tests/daemon/rib/fib-updates-common.hpp
index 15e623f..4230114 100644
--- a/tests/daemon/rib/fib-updates-common.hpp
+++ b/tests/daemon/rib/fib-updates-common.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,
@@ -101,13 +101,6 @@
 class FibUpdatesFixture : public GlobalIoFixture, public KeyChainFixture
 {
 public:
-  FibUpdatesFixture()
-    : face(g_io, m_keyChain)
-    , controller(face, m_keyChain)
-    , fibUpdater(rib, controller)
-  {
-  }
-
   void
   insertRoute(const Name& name, uint64_t faceId,
               std::underlying_type_t<ndn::nfd::RouteOrigin> origin,
@@ -115,13 +108,7 @@
               std::underlying_type_t<ndn::nfd::RouteFlags> flags)
   {
     auto route = createRoute(faceId, origin, cost, flags);
-
-    rib::RibUpdate update;
-    update.setAction(rib::RibUpdate::REGISTER)
-          .setName(name)
-          .setRoute(route);
-
-    rib.beginApplyUpdate(update, nullptr, nullptr);
+    rib.beginApplyUpdate({rib::RibUpdate::REGISTER, name, route}, nullptr, nullptr);
     pollIo();
   }
 
@@ -130,13 +117,7 @@
              std::underlying_type_t<ndn::nfd::RouteOrigin> origin)
   {
     auto route = createRoute(faceId, origin, 0, 0);
-
-    rib::RibUpdate update;
-    update.setAction(rib::RibUpdate::UNREGISTER)
-          .setName(name)
-          .setRoute(route);
-
-    rib.beginApplyUpdate(update, nullptr, nullptr);
+    rib.beginApplyUpdate({rib::RibUpdate::UNREGISTER, name, route}, nullptr, nullptr);
     pollIo();
   }
 
@@ -167,11 +148,10 @@
   }
 
 public:
-  ndn::DummyClientFace face;
-  ndn::nfd::Controller controller;
-
+  ndn::DummyClientFace face{g_io, m_keyChain};
+  ndn::nfd::Controller controller{face, m_keyChain};
   rib::Rib rib;
-  MockFibUpdater fibUpdater;
+  MockFibUpdater fibUpdater{rib, controller};
 };
 
 } // namespace nfd::tests