host-bmc: Implement Panel interface

Adding support to host Panel dbus interface.  Based on the PDRs received
from remote PLDM terminus, PLDM hosts the dbus interface based on the
entity type.  The Panel 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/Panel.interface.yaml

Change-Id: I9e98baa8a0559a6cc38e8557349f4e2369ba6058
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 7a7e168..14d1541 100644
--- a/host-bmc/dbus/custom_dbus.cpp
+++ b/host-bmc/dbus/custom_dbus.cpp
@@ -223,5 +223,15 @@
     }
 }
 
+void CustomDBus::implementPanelInterface(const std::string& path)
+{
+    if (!panel.contains(path))
+    {
+        panel.emplace(path,
+                      std::make_unique<Panel>(
+                          pldm::utils::DBusHandler::getBus(), path.c_str()));
+    }
+}
+
 } // namespace dbus
 } // namespace pldm