| #include "pel_entry.hpp" | |
| #include <iostream> | |
| #include <xyz/openbmc_project/Common/error.hpp> | |
| namespace openpower | |
| { | |
| namespace pels | |
| { | |
| namespace common_error = sdbusplus::xyz::openbmc_project::Common::Error; | |
| bool PELEntry::managementSystemAck(bool value) | |
| { | |
| auto current = sdbusplus::org::open_power::Logging::PEL::server::Entry:: | |
| managementSystemAck(); | |
| if (value != current) | |
| { | |
| current = sdbusplus::org::open_power::Logging::PEL::server::Entry:: | |
| managementSystemAck(value); | |
| Repository::LogID id{Repository::LogID::Obmc(getMyId())}; | |
| if (auto logId = _repo->getLogID(id); logId.has_value()) | |
| { | |
| // Update HMC acknowledge bit in PEL | |
| _repo->setPELHMCTransState( | |
| logId->pelID.id, | |
| (value ? TransmissionState::acked : TransmissionState::newPEL)); | |
| } | |
| else | |
| { | |
| throw common_error::InvalidArgument(); | |
| } | |
| } | |
| return current; | |
| } | |
| } // namespace pels | |
| } // namespace openpower |