1 #include "manager.hpp"
2
3 #include <phosphor-logging/lg2.hpp>
4
5 PHOSPHOR_LOG2_USING;
6
7 namespace pldm
8 {
9 namespace platform_mc
10 {
beforeDiscoverTerminus()11 exec::task<int> Manager::beforeDiscoverTerminus()
12 {
13 // Add any setup or checks needed before discovering a terminus
14 // If any setup/check fails, return the appropriate error code
15 // For now, we assume everything is successful
16 co_return PLDM_SUCCESS;
17 }
18
afterDiscoverTerminus()19 exec::task<int> Manager::afterDiscoverTerminus()
20 {
21 auto rc = co_await platformManager.initTerminus();
22 if (rc != PLDM_SUCCESS)
23 {
24 lg2::error("Failed to initialize platform manager, error {RC}", "RC",
25 rc);
26 }
27 else
28 {
29 lg2::info("Successfully initialized platform manager");
30 }
31 co_return rc;
32 }
33
pollForPlatformEvent(pldm_tid_t tid,uint16_t,uint32_t pollDataTransferHandle)34 exec::task<int> Manager::pollForPlatformEvent(
35 pldm_tid_t tid, uint16_t /* pollEventId */, uint32_t pollDataTransferHandle)
36 {
37 auto it = termini.find(tid);
38 if (it != termini.end())
39 {
40 auto& terminus = it->second;
41 co_await eventManager.pollForPlatformEventTask(tid,
42 pollDataTransferHandle);
43 terminus->pollEvent = false;
44 }
45 co_return PLDM_SUCCESS;
46 }
47
48 } // namespace platform_mc
49 } // namespace pldm
50