xref: /openbmc/bmcweb/features/redfish/include/resource_messages.hpp (revision 65e4f1f7f44677ebaa0373f153084b97ba1a1194)
174eec26bSSunitha Harish #pragma once
274eec26bSSunitha Harish 
3*65e4f1f7SEd Tanous #include <nlohmann/json.hpp>
4*65e4f1f7SEd Tanous #include <registries/resource_event_message_registry.hpp>
5*65e4f1f7SEd Tanous 
674eec26bSSunitha Harish namespace redfish
774eec26bSSunitha Harish {
874eec26bSSunitha Harish namespace messages
974eec26bSSunitha Harish {
1074eec26bSSunitha Harish 
11*65e4f1f7SEd Tanous nlohmann::json
12*65e4f1f7SEd Tanous     getLogResourceEvent(redfish::registries::resource_event::Index name,
13*65e4f1f7SEd Tanous                         std::span<const std::string_view> args)
14*65e4f1f7SEd Tanous {
15*65e4f1f7SEd Tanous     size_t index = static_cast<size_t>(name);
16*65e4f1f7SEd Tanous     if (index >= redfish::registries::resource_event::registry.size())
17*65e4f1f7SEd Tanous     {
18*65e4f1f7SEd Tanous         return {};
19*65e4f1f7SEd Tanous     }
20*65e4f1f7SEd Tanous     return getLogFromRegistry(redfish::registries::resource_event::header,
21*65e4f1f7SEd Tanous                               redfish::registries::resource_event::registry,
22*65e4f1f7SEd Tanous                               index, args);
23*65e4f1f7SEd Tanous }
24*65e4f1f7SEd Tanous 
2565176d39SEd Tanous inline nlohmann::json resourceChanged()
2674eec26bSSunitha Harish {
27*65e4f1f7SEd Tanous     return getLogResourceEvent(
28*65e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceChanged, {});
2974eec26bSSunitha Harish }
3074eec26bSSunitha Harish 
3165176d39SEd Tanous inline nlohmann::json resourceCreated()
3274eec26bSSunitha Harish {
33*65e4f1f7SEd Tanous     return getLogResourceEvent(
34*65e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceCreated, {});
3574eec26bSSunitha Harish }
3674eec26bSSunitha Harish 
3765176d39SEd Tanous inline nlohmann::json resourceRemoved()
3874eec26bSSunitha Harish {
39*65e4f1f7SEd Tanous     return getLogResourceEvent(
40*65e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceCreated, {});
4174eec26bSSunitha Harish }
4274eec26bSSunitha Harish 
4374eec26bSSunitha Harish } // namespace messages
4474eec26bSSunitha Harish } // namespace redfish
45