libpldmresponder:Support GetNumericEffecterValue responder
The GetNumericEffecterValue command is used to return the present
numeric setting of a PLDM Numeric Effecter.
This commit adds responder support for GetNumericEffecterValue Cmd
as mentioned in Section22.3 of DSP0248_1.2.0.
Currently "effecterOperationalState" field in the response msg is
set to "enabled-noUpdatePending". Actual value can be fetched once
the support for EffecterEvent/SetNumericEffecterEnable is added.
Test:
Using pldmtool raw command
Success Case:
pldmtool raw -d 0x80 0x02 0x32 0x23 00
pldmtool: Tx: 08 01 80 02 32 23 00
pldmtool: Rx: 08 01 00 02 32 00 00 01 03 03
Failure Case:
pldmtool raw -d 0x80 0x02 0x32 0x25 0x00
pldmtool: Tx: 08 01 80 02 32 25 00
pldmtool: Rx: 08 01 00 02 32 80
Change-Id: I64a7205d8f69e3925b75b02558a0857b63c70ebf
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
diff --git a/libpldmresponder/platform.hpp b/libpldmresponder/platform.hpp
index 8d2c74e..8df9625 100644
--- a/libpldmresponder/platform.hpp
+++ b/libpldmresponder/platform.hpp
@@ -77,6 +77,10 @@
[this](const pldm_msg* request, size_t payloadLength) {
return this->setNumericEffecterValue(request, payloadLength);
});
+ handlers.emplace(PLDM_GET_NUMERIC_EFFECTER_VALUE,
+ [this](const pldm_msg* request, size_t payloadLength) {
+ return this->getNumericEffecterValue(request, payloadLength);
+ });
handlers.emplace(PLDM_SET_STATE_EFFECTER_STATES,
[this](const pldm_msg* request, size_t payloadLength) {
return this->setStateEffecterStates(request, payloadLength);
@@ -212,6 +216,15 @@
Response setNumericEffecterValue(const pldm_msg* request,
size_t payloadLength);
+ /** @brief Handler for getNumericEffecterValue
+ *
+ * @param[in] request - Request message
+ * @param[in] payloadLength - Request payload length
+ * @return Response - PLDM Response message
+ */
+ Response getNumericEffecterValue(const pldm_msg* request,
+ size_t payloadLength);
+
/** @brief Handler for getStateSensorReadings
*
* @param[in] request - Request message