1da9b5833SJayanth Othayoth #pragma once
2da9b5833SJayanth Othayoth 
3da9b5833SJayanth Othayoth #include "data_interface.hpp"
4da9b5833SJayanth Othayoth 
5da9b5833SJayanth Othayoth #include <nlohmann/json.hpp>
6da9b5833SJayanth Othayoth #include <xyz/openbmc_project/HardwareIsolation/Entry/server.hpp>
7da9b5833SJayanth Othayoth 
8da9b5833SJayanth Othayoth namespace openpower
9da9b5833SJayanth Othayoth {
10da9b5833SJayanth Othayoth namespace pels
11da9b5833SJayanth Othayoth {
12da9b5833SJayanth Othayoth namespace phal
13da9b5833SJayanth Othayoth {
14da9b5833SJayanth Othayoth 
15da9b5833SJayanth Othayoth using EntrySeverity =
16*6ddbf69eSWilly Tu     sdbusplus::server::xyz::openbmc_project::hardware_isolation::Entry::Type;
17da9b5833SJayanth Othayoth 
18da9b5833SJayanth Othayoth /**
19da9b5833SJayanth Othayoth  * @brief Helper function to create service actions in the PEL
20da9b5833SJayanth Othayoth  *
21da9b5833SJayanth Othayoth  * @param[in] jsonCallouts - The array of JSON callouts, or an empty object.
22da9b5833SJayanth Othayoth  * @param[in] path - The BMC error log object path
23da9b5833SJayanth Othayoth  * @param[in] dataIface - The DataInterface object
243ef7b60fSJayanth Othayoth  * @param[in] plid -  the PLID
25da9b5833SJayanth Othayoth  */
26da9b5833SJayanth Othayoth void createServiceActions(const nlohmann::json& jsonCallouts,
27da9b5833SJayanth Othayoth                           const std::string& path,
283ef7b60fSJayanth Othayoth                           const DataInterfaceBase& dataIface,
293ef7b60fSJayanth Othayoth                           const uint32_t plid);
30da9b5833SJayanth Othayoth } // namespace phal
31da9b5833SJayanth Othayoth } // namespace pels
32da9b5833SJayanth Othayoth } // namespace openpower
33