Reorganize the setEventReceiver code
This commit is to re-organise the code to make the
setEventReceiver optional when GetTID gets called.
Currently, it is being called on every GetTID command.
This is and OEM behaviour, which was implemented at -
https://gerrit.openbmc.org/c/openbmc/pldm/+/41779/36
Also, setEventReceiver is a command defined in the platform
Spec, so rightfully placing it under the platform handler.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: Ib60e9d46a8eaf4806c5ec2e9575f4e219bc80eab
diff --git a/libpldmresponder/test/libpldmresponder_platform_test.cpp b/libpldmresponder/test/libpldmresponder_platform_test.cpp
index 2d52987..1bc92d5 100644
--- a/libpldmresponder/test/libpldmresponder_platform_test.cpp
+++ b/libpldmresponder/test/libpldmresponder_platform_test.cpp
@@ -42,8 +42,9 @@
auto pdrRepo = pldm_pdr_init();
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", pdrRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ pdrRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo repo(pdrRepo);
ASSERT_EQ(repo.empty(), false);
auto response = handler.getPDR(req, requestPayloadLength);
@@ -80,8 +81,9 @@
auto pdrRepo = pldm_pdr_init();
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", pdrRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ pdrRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo repo(pdrRepo);
ASSERT_EQ(repo.empty(), false);
auto response = handler.getPDR(req, requestPayloadLength);
@@ -112,8 +114,9 @@
auto pdrRepo = pldm_pdr_init();
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", pdrRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ pdrRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo repo(pdrRepo);
ASSERT_EQ(repo.empty(), false);
auto response = handler.getPDR(req, requestPayloadLength);
@@ -142,8 +145,9 @@
auto pdrRepo = pldm_pdr_init();
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", pdrRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ pdrRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo repo(pdrRepo);
ASSERT_EQ(repo.empty(), false);
auto response = handler.getPDR(req, requestPayloadLength);
@@ -174,8 +178,9 @@
auto pdrRepo = pldm_pdr_init();
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", pdrRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ pdrRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo repo(pdrRepo);
ASSERT_EQ(repo.empty(), false);
auto response = handler.getPDR(req, requestPayloadLength);
@@ -234,8 +239,9 @@
auto outPDRRepo = pldm_pdr_init();
Repo outRepo(outPDRRepo);
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", inPDRRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ inPDRRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
handler.getPDR(req, requestPayloadLength);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, outRepo, PLDM_STATE_EFFECTER_PDR);
@@ -281,8 +287,9 @@
auto outPDRRepo = pldm_pdr_init();
Repo outRepo(outPDRRepo);
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", inPDRRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ inPDRRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
handler.getPDR(req, requestPayloadLength);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, outRepo, PLDM_STATE_EFFECTER_PDR);
@@ -327,8 +334,9 @@
auto numericEffecterPdrRepo = pldm_pdr_init();
Repo numericEffecterPDRs(numericEffecterPdrRepo);
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", inPDRRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ inPDRRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, numericEffecterPDRs, PLDM_NUMERIC_EFFECTER_PDR);
@@ -370,8 +378,9 @@
auto numericEffecterPdrRepo = pldm_pdr_init();
Repo numericEffecterPDRs(numericEffecterPdrRepo);
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", inPDRRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ inPDRRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, numericEffecterPDRs, PLDM_NUMERIC_EFFECTER_PDR);
@@ -406,8 +415,9 @@
auto numericEffecterPdrRepo = pldm_pdr_init();
Repo numericEffecterPDRs(numericEffecterPdrRepo);
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", inPDRRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ inPDRRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, numericEffecterPDRs, PLDM_NUMERIC_EFFECTER_PDR);
@@ -482,8 +492,9 @@
auto numericEffecterPdrRepo = pldm_pdr_init();
Repo numericEffecterPDRs(numericEffecterPdrRepo);
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_effecter/good", inPDRRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_effecter/good",
+ inPDRRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, numericEffecterPDRs, PLDM_NUMERIC_EFFECTER_PDR);
@@ -661,8 +672,8 @@
Repo outRepo(outPDRRepo);
MockdBusHandler mockedUtils;
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "", inPDRRepo, nullptr, nullptr, nullptr,
- nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "", inPDRRepo, nullptr, nullptr,
+ nullptr, nullptr, nullptr, event);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, outRepo, PLDM_TERMINUS_LOCATOR_PDR);
@@ -706,8 +717,9 @@
auto outPDRRepo = pldm_pdr_init();
Repo outRepo(outPDRRepo);
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_sensor/good", inPDRRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_sensor/good",
+ inPDRRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, outRepo, PLDM_STATE_SENSOR_PDR);
pdr_utils::PdrEntry e;
@@ -753,8 +765,9 @@
auto outPDRRepo = pldm_pdr_init();
Repo outRepo(outPDRRepo);
auto event = sdeventplus::Event::get_default();
- Handler handler(&mockedUtils, "./pdr_jsons/state_sensor/good", inPDRRepo,
- nullptr, nullptr, nullptr, nullptr, event);
+ Handler handler(&mockedUtils, 0, nullptr, "./pdr_jsons/state_sensor/good",
+ inPDRRepo, nullptr, nullptr, nullptr, nullptr, nullptr,
+ event);
Repo inRepo(inPDRRepo);
getRepoByType(inRepo, outRepo, PLDM_STATE_SENSOR_PDR);
pdr_utils::PdrEntry e;