pldm: Implement PCIeDevice interface

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

Change-Id: I69472efef33c3ad030ba4c831f07f60833b2c40b
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
diff --git a/host-bmc/dbus/pcie_device.cpp b/host-bmc/dbus/pcie_device.cpp
new file mode 100644
index 0000000..55ed83f
--- /dev/null
+++ b/host-bmc/dbus/pcie_device.cpp
@@ -0,0 +1,33 @@
+#include "pcie_device.hpp"
+
+namespace pldm
+{
+namespace dbus
+{
+
+auto PCIeDevice::generationInUse() const -> Generations
+{
+    return sdbusplus::xyz::openbmc_project::Inventory::Item::server::
+        PCIeDevice::generationInUse();
+}
+
+auto PCIeDevice::generationInUse(Generations value) -> Generations
+{
+    return sdbusplus::xyz::openbmc_project::Inventory::Item::server::
+        PCIeDevice::generationInUse(value);
+}
+
+size_t PCIeDevice::lanesInUse() const
+{
+    return sdbusplus::xyz::openbmc_project::Inventory::Item::server::
+        PCIeDevice::lanesInUse();
+}
+
+size_t PCIeDevice::lanesInUse(size_t value)
+{
+    return sdbusplus::xyz::openbmc_project::Inventory::Item::server::
+        PCIeDevice::lanesInUse(value);
+}
+
+} // namespace dbus
+} // namespace pldm