libpldmresponder: Implement GetStateSensorReadings
Register the getStateSensorReadings method and get the state sensor PDR
structure according to the SensorId property.
Tested with JSON file:
https://gist.github.com/lxwinspur/6a40abea7330c25e4d49826e890c4be9
pldmtool raw -d 0x80 0x02 0x21 0x01 0x00 0x01 0x00
Request Message:
08 01 80 02 21 01 00 01 00
Response Message:
08 01 00 02 21 00 01 03 00 00 00
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I4faeb1e85f9fd4a2745f592d37be38c28112f5b9
diff --git a/libpldmresponder/platform.hpp b/libpldmresponder/platform.hpp
index 06496dc..6d6fd95 100644
--- a/libpldmresponder/platform.hpp
+++ b/libpldmresponder/platform.hpp
@@ -92,6 +92,11 @@
return this->platformEventMessage(request,
payloadLength);
});
+ handlers.emplace(PLDM_GET_STATE_SENSOR_READINGS,
+ [this](const pldm_msg* request, size_t payloadLength) {
+ return this->getStateSensorReadings(request,
+ payloadLength);
+ });
// Default handler for PLDM Events
eventHandlers[PLDM_SENSOR_EVENT].emplace_back(
@@ -211,6 +216,15 @@
Response setNumericEffecterValue(const pldm_msg* request,
size_t payloadLength);
+ /** @brief Handler for getStateSensorReadings
+ *
+ * @param[in] request - Request message
+ * @param[in] payloadLength - Request payload length
+ * @return Response - PLDM Response message
+ */
+ Response getStateSensorReadings(const pldm_msg* request,
+ size_t payloadLength);
+
/** @brief Handler for setStateEffecterStates
*
* @param[in] request - Request message