#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 |