host-bmc: Implement Asset interface

Adding support to host Asset dbus interface.  Based on the Topology data
received from remote PLDM terminus, PLDM hosts the dbus interface.  The
Asset interface is defined at [1].

Tested:
   Functional test passed

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

Change-Id: Ia32e69861192fca6db8c1613fbec281ca3faa3e8
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
diff --git a/host-bmc/dbus/custom_dbus.hpp b/host-bmc/dbus/custom_dbus.hpp
index 80ffda9..7988bd9 100644
--- a/host-bmc/dbus/custom_dbus.hpp
+++ b/host-bmc/dbus/custom_dbus.hpp
@@ -1,5 +1,6 @@
 #pragma once
 
+#include "asset.hpp"
 #include "cable.hpp"
 #include "chassis.hpp"
 #include "common/utils.hpp"
@@ -157,7 +158,15 @@
      */
     void implementPowerSupplyInterface(const std::string& path);
 
+    /** @brief Implement Asset Interface
+     *
+     *  @param[in] path - The object path
+     *
+     */
+    void implementAssetInterface(const std::string& path);
+
   private:
+    std::unordered_map<ObjectPath, std::unique_ptr<Asset>> asset;
     std::unordered_map<ObjectPath, std::unique_ptr<LocationIntf>> location;
     std::unordered_map<ObjectPath, std::unique_ptr<CPUCore>> cpuCore;
     std::unordered_map<ObjectPath, std::unique_ptr<ItemChassis>> chassis;