host-bmc: Implement Chassis interface

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

Change-Id: Ia07c5974ae78314e0812cb09fbc6c738b4853cb9
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 e0d4fbf..b02ed36 100644
--- a/host-bmc/dbus/custom_dbus.cpp
+++ b/host-bmc/dbus/custom_dbus.cpp
@@ -137,5 +137,15 @@
     }
 }
 
+void CustomDBus::implementChassisInterface(const std::string& path)
+{
+    if (!chassis.contains(path))
+    {
+        chassis.emplace(path,
+                        std::make_unique<ItemChassis>(
+                            pldm::utils::DBusHandler::getBus(), path.c_str()));
+    }
+}
+
 } // namespace dbus
 } // namespace pldm