host-bmc: Implement VRM interface

Adds support to host Voltage Regulator Module interface.  Based on the
PDRs received from remote PLDM terminus, PLDM hosts the dbus interface
based on the entity type.  The VRM interface is defined at [1].

Tested:
   Functional test passed

[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/Vrm.interface.yaml

Change-Id: I5124de5f34d3a482d17f1859ecfe8704901c5fad
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
diff --git a/host-bmc/dbus/custom_dbus.cpp b/host-bmc/dbus/custom_dbus.cpp
index 14d1541..42acc59 100644
--- a/host-bmc/dbus/custom_dbus.cpp
+++ b/host-bmc/dbus/custom_dbus.cpp
@@ -233,5 +233,15 @@
     }
 }
 
+void CustomDBus::implementVRMInterface(const std::string& path)
+{
+    if (!vrm.contains(path))
+    {
+        vrm.emplace(path,
+                    std::make_unique<VRM>(pldm::utils::DBusHandler::getBus(),
+                                          path.c_str()));
+    }
+}
+
 } // namespace dbus
 } // namespace pldm