summaryrefslogtreecommitdiffstats
path: root/sensordatahandler.cpp
diff options
context:
space:
mode:
authorTom Joseph <tomjoseph@in.ibm.com>2017-09-06 23:57:36 +0530
committerTom Joseph <tomjoseph@in.ibm.com>2017-09-14 18:48:09 +0530
commite4014fca76e418e5d7d5c8ce8720913f998cd9de (patch)
treecdb5174b44f19cdadf443a462290fd8e1c1fe154 /sensordatahandler.cpp
parent816e92b59fa52dcd997099a81e2f43a3512fca1e (diff)
downloadphosphor-host-ipmid-e4014fca76e418e5d7d5c8ce8720913f998cd9de.tar.gz
phosphor-host-ipmid-e4014fca76e418e5d7d5c8ce8720913f998cd9de.zip
sensor: Add function to map dbus info to reading field
For sensor's with reading type eventData2, the eventdata2 field is mapped to the reading field in the get sensor reading command response. Change-Id: I9ad85ddb48d6c273a22e476e29ea9bbb34c13e24 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Diffstat (limited to 'sensordatahandler.cpp')
-rw-r--r--sensordatahandler.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/sensordatahandler.cpp b/sensordatahandler.cpp
index 231822b..aca81c7 100644
--- a/sensordatahandler.cpp
+++ b/sensordatahandler.cpp
@@ -154,6 +154,42 @@ GetSensorResponse assertion(const Info& sensorInfo)
sensorInfo.sensorInterface);
}
+GetSensorResponse eventdata2(const Info& sensorInfo)
+{
+ sdbusplus::bus::bus bus{ipmid_get_sd_bus_connection()};
+ GetSensorResponse response {};
+ auto responseData = reinterpret_cast<GetReadingResponse*>(response.data());
+
+ auto service = ipmi::getService(bus,
+ sensorInfo.sensorInterface,
+ sensorInfo.sensorPath);
+
+ const auto& interfaceList = sensorInfo.propertyInterfaces;
+
+ for (const auto& interface : interfaceList)
+ {
+ for (const auto& property : interface.second)
+ {
+ auto propValue = ipmi::getDbusProperty(bus,
+ service,
+ sensorInfo.sensorPath,
+ interface.first,
+ property.first);
+
+ for (const auto& value : property.second)
+ {
+ if (propValue == value.second.assert)
+ {
+ setReading(value.first, responseData);
+ break;
+ }
+ }
+ }
+ }
+
+ return response;
+}
+
} //namespace get
namespace set
OpenPOWER on IntegriCloud