Get Present property for Dimms
From smbios file, for physically not present dimms details are filled
as "NO DIMM". Using which populating Present property under
xyz.openbmc_project.Inventory.Item interface with
true/false that indicates presence of dimms and making manufacturer
value empty for no dimm presence.
Tested:
Checked property is filled via dbus call.
Signed-off-by: Joshi-Mansi <mansi.joshi@linux.intel.com>
Change-Id: I84b05aeef3f77353fee1b663d39f3451c8faa337
diff --git a/include/dimm.hpp b/include/dimm.hpp
index 7d69a29..79da4cf 100644
--- a/include/dimm.hpp
+++ b/include/dimm.hpp
@@ -19,6 +19,7 @@
#include <xyz/openbmc_project/Inventory/Decorator/Asset/server.hpp>
#include <xyz/openbmc_project/Inventory/Item/Dimm/server.hpp>
+#include <xyz/openbmc_project/Inventory/Item/server.hpp>
namespace phosphor
{
@@ -33,7 +34,9 @@
sdbusplus::server::object::object<
sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm>,
sdbusplus::server::object::object<
- sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset>
+ sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset>,
+ sdbusplus::server::object::object<
+ sdbusplus::xyz::openbmc_project::Inventory::server::Item>
{
public:
Dimm() = delete;
@@ -52,6 +55,9 @@
sdbusplus::server::object::object<
sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
Asset>(bus, objPath.c_str()),
+ sdbusplus::server::object::object<
+ sdbusplus::xyz::openbmc_project::Inventory::server::Item>(
+ bus, objPath.c_str()),
dimmNum(dimmId), storage(smbiosTableStorage)
{
memoryInfoUpdate();
@@ -66,6 +72,7 @@
std::string memoryTypeDetail(std::string value) override;
uint16_t maxMemorySpeedInMhz(uint16_t value) override;
std::string manufacturer(std::string value) override;
+ bool present(bool value) override;
std::string serialNumber(std::string value) override;
std::string partNumber(std::string value) override;
uint8_t memoryAttributes(uint8_t value) override;