| #pragma once |
| |
| #include <nlohmann/json.hpp> |
| |
| #include <map> |
| #include <string> |
| #include <vector> |
| |
| /** @brief Stores the error to log if errors to monitor is found */ |
| struct targetEntry |
| { |
| std::string errorToLog; |
| std::vector<std::string> errorsToMonitor; |
| }; |
| |
| /** @brief A map of the systemd target to its corresponding targetEntry*/ |
| using TargetErrorData = std::map<std::string, targetEntry>; |
| |
| using json = nlohmann::json; |
| |
| extern bool gVerbose; |
| |
| /** @brief Parse input json files |
| * |
| * Will return the parsed data in the TargetErrorData object |
| * |
| * @note This function will throw exceptions for an invalid json file |
| * @note See phosphor-target-monitor-default.json for example of json file |
| * format |
| * |
| * @param[in] filePaths - The file(s) to parse |
| * |
| * @return Map of target to error log relationships |
| */ |
| TargetErrorData parseFiles(const std::vector<std::string>& filePaths); |