xref: /openbmc/bmcweb/features/redfish/include/event_log.hpp (revision d78572018fc2022091ff8b8eb5a7fef2172ba3d6)
1b80ba2e4SAlexander Hansen #pragma once
2b80ba2e4SAlexander Hansen 
3b80ba2e4SAlexander Hansen #include <nlohmann/json.hpp>
4b80ba2e4SAlexander Hansen 
5b80ba2e4SAlexander Hansen #include <span>
6b80ba2e4SAlexander Hansen #include <string>
7b80ba2e4SAlexander Hansen #include <string_view>
8*d7857201SEd Tanous #include <vector>
9b80ba2e4SAlexander Hansen 
10b80ba2e4SAlexander Hansen namespace redfish
11b80ba2e4SAlexander Hansen {
12b80ba2e4SAlexander Hansen 
13b80ba2e4SAlexander Hansen namespace event_log
14b80ba2e4SAlexander Hansen {
15b80ba2e4SAlexander Hansen 
16b80ba2e4SAlexander Hansen bool getUniqueEntryID(const std::string& logEntry, std::string& entryID);
17b80ba2e4SAlexander Hansen 
18b80ba2e4SAlexander Hansen int getEventLogParams(const std::string& logEntry, std::string& timestamp,
19b80ba2e4SAlexander Hansen                       std::string& messageID,
20b80ba2e4SAlexander Hansen                       std::vector<std::string>& messageArgs);
21b80ba2e4SAlexander Hansen 
22b80ba2e4SAlexander Hansen int formatEventLogEntry(
23b80ba2e4SAlexander Hansen     const std::string& logEntryID, const std::string& messageID,
24b80ba2e4SAlexander Hansen     std::span<std::string_view> messageArgs, std::string timestamp,
25b80ba2e4SAlexander Hansen     const std::string& customText, nlohmann::json::object_t& logEntryJson);
26b80ba2e4SAlexander Hansen 
27b80ba2e4SAlexander Hansen } // namespace event_log
28b80ba2e4SAlexander Hansen 
29b80ba2e4SAlexander Hansen } // namespace redfish
30