pldmd: move to libpldm instance ID alloc/free

Refactor the dbus_api::Requester class to be implemented in terms of
libpldm's instance ID database. To make that easier to deal with we
introduce a light-weight RAII C++ binding along with a helper class for
unit tests.

Change-Id: Ia03de8245dfb114e6266ba36dcf26ca4398a4ce0
Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com>
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/pldmd/pldmd.cpp b/pldmd/pldmd.cpp
index 9f5bbaa..5da52f0 100644
--- a/pldmd/pldmd.cpp
+++ b/pldmd/pldmd.cpp
@@ -2,6 +2,7 @@
 #include "common/utils.hpp"
 #include "dbus_impl_requester.hpp"
 #include "fw-update/manager.hpp"
+#include "instance_id.hpp"
 #include "invoker.hpp"
 #include "requester/handler.hpp"
 #include "requester/mctp_endpoint_discovery.hpp"
@@ -196,7 +197,10 @@
     auto& bus = pldm::utils::DBusHandler::getBus();
     sdbusplus::server::manager_t objManager(bus,
                                             "/xyz/openbmc_project/software");
-    dbus_api::Requester dbusImplReq(bus, "/xyz/openbmc_project/pldm");
+
+    InstanceIdDb instanceIdDb;
+    dbus_api::Requester dbusImplReq(bus, "/xyz/openbmc_project/pldm",
+                                    instanceIdDb);
 
     Invoker invoker{};
     requester::Handler<requester::Request> reqHandler(