host-bmc: Implement fabric adapter interface

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

Change-Id: I72a7e3198dbbf78521eeeb37b926562064f733b9
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 54dd076..08f9750 100644
--- a/host-bmc/dbus/custom_dbus.cpp
+++ b/host-bmc/dbus/custom_dbus.cpp
@@ -127,6 +127,16 @@
     }
 }
 
+void CustomDBus::implementFabricAdapter(const std::string& path)
+{
+    if (!fabricAdapter.contains(path))
+    {
+        fabricAdapter.emplace(
+            path, std::make_unique<FabricAdapter>(
+                      pldm::utils::DBusHandler::getBus(), path.c_str()));
+    }
+}
+
 void CustomDBus::implementPowerSupplyInterface(const std::string& path)
 {
     if (!powersupply.contains(path))