xref: /openbmc/bmcweb/features/redfish/include/resource_messages.hpp (revision 60a86d6c3d0d7afce431e7ae6b1299e7ea7cbb8c)
174eec26bSSunitha Harish #pragma once
274eec26bSSunitha Harish 
365e4f1f7SEd Tanous #include <nlohmann/json.hpp>
465e4f1f7SEd Tanous #include <registries/resource_event_message_registry.hpp>
565e4f1f7SEd Tanous 
674eec26bSSunitha Harish namespace redfish
774eec26bSSunitha Harish {
874eec26bSSunitha Harish namespace messages
974eec26bSSunitha Harish {
1074eec26bSSunitha Harish 
11*60a86d6cSNan Zhou inline nlohmann::json
1265e4f1f7SEd Tanous     getLogResourceEvent(redfish::registries::resource_event::Index name,
1365e4f1f7SEd Tanous                         std::span<const std::string_view> args)
1465e4f1f7SEd Tanous {
1565e4f1f7SEd Tanous     size_t index = static_cast<size_t>(name);
1665e4f1f7SEd Tanous     if (index >= redfish::registries::resource_event::registry.size())
1765e4f1f7SEd Tanous     {
1865e4f1f7SEd Tanous         return {};
1965e4f1f7SEd Tanous     }
2065e4f1f7SEd Tanous     return getLogFromRegistry(redfish::registries::resource_event::header,
2165e4f1f7SEd Tanous                               redfish::registries::resource_event::registry,
2265e4f1f7SEd Tanous                               index, args);
2365e4f1f7SEd Tanous }
2465e4f1f7SEd Tanous 
2565176d39SEd Tanous inline nlohmann::json resourceChanged()
2674eec26bSSunitha Harish {
2765e4f1f7SEd Tanous     return getLogResourceEvent(
2865e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceChanged, {});
2974eec26bSSunitha Harish }
3074eec26bSSunitha Harish 
3165176d39SEd Tanous inline nlohmann::json resourceCreated()
3274eec26bSSunitha Harish {
3365e4f1f7SEd Tanous     return getLogResourceEvent(
3465e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceCreated, {});
3574eec26bSSunitha Harish }
3674eec26bSSunitha Harish 
3765176d39SEd Tanous inline nlohmann::json resourceRemoved()
3874eec26bSSunitha Harish {
3965e4f1f7SEd Tanous     return getLogResourceEvent(
4065e4f1f7SEd Tanous         redfish::registries::resource_event::Index::resourceCreated, {});
4174eec26bSSunitha Harish }
4274eec26bSSunitha Harish 
4374eec26bSSunitha Harish } // namespace messages
4474eec26bSSunitha Harish } // namespace redfish
45