xref: /openbmc/bmcweb/features/redfish/include/resource_messages.hpp (revision 3ccb3adb9a14783f6bef601506de9f8bcae22d51)
174eec26bSSunitha Harish #pragma once
274eec26bSSunitha Harish 
3*3ccb3adbSEd Tanous #include "registries/resource_event_message_registry.hpp"
4*3ccb3adbSEd Tanous 
565e4f1f7SEd Tanous #include <nlohmann/json.hpp>
665e4f1f7SEd Tanous 
774eec26bSSunitha Harish namespace redfish
874eec26bSSunitha Harish {
974eec26bSSunitha Harish namespace messages
1074eec26bSSunitha Harish {
1174eec26bSSunitha Harish 
1260a86d6cSNan Zhou inline nlohmann::json
1365e4f1f7SEd Tanous     getLogResourceEvent(redfish::registries::resource_event::Index name,
1465e4f1f7SEd Tanous                         std::span<const std::string_view> args)
1565e4f1f7SEd Tanous {
1665e4f1f7SEd Tanous     size_t index = static_cast<size_t>(name);
1765e4f1f7SEd Tanous     if (index >= redfish::registries::resource_event::registry.size())
1865e4f1f7SEd Tanous     {
1965e4f1f7SEd Tanous         return {};
2065e4f1f7SEd Tanous     }
2165e4f1f7SEd Tanous     return getLogFromRegistry(redfish::registries::resource_event::header,
2265e4f1f7SEd Tanous                               redfish::registries::resource_event::registry,
2365e4f1f7SEd Tanous                               index, args);
2465e4f1f7SEd Tanous }
2565e4f1f7SEd Tanous 
2665176d39SEd Tanous inline nlohmann::json resourceChanged()
2774eec26bSSunitha Harish {
2865e4f1f7SEd Tanous     return getLogResourceEvent(
2965e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceChanged, {});
3074eec26bSSunitha Harish }
3174eec26bSSunitha Harish 
3265176d39SEd Tanous inline nlohmann::json resourceCreated()
3374eec26bSSunitha Harish {
3465e4f1f7SEd Tanous     return getLogResourceEvent(
3565e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceCreated, {});
3674eec26bSSunitha Harish }
3774eec26bSSunitha Harish 
3865176d39SEd Tanous inline nlohmann::json resourceRemoved()
3974eec26bSSunitha Harish {
4065e4f1f7SEd Tanous     return getLogResourceEvent(
4165e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceCreated, {});
4274eec26bSSunitha Harish }
4374eec26bSSunitha Harish 
4474eec26bSSunitha Harish } // namespace messages
4574eec26bSSunitha Harish } // namespace redfish
46