| #pragma once |
| |
| #include "config.h" |
| |
| #include "elog_entry.hpp" |
| |
| #include <filesystem> |
| #include <string> |
| #include <vector> |
| |
| namespace phosphor |
| { |
| namespace logging |
| { |
| |
| namespace fs = std::filesystem; |
| |
| /** @brief Serialize and persist error d-bus object |
| * @param[in] a - const reference to error entry. |
| * @param[in] dir - pathname of directory where the serialized error will |
| * be placed. |
| * @return fs::path - pathname of persisted error file |
| */ |
| fs::path serialize(const Entry& e, |
| const fs::path& dir = fs::path(ERRLOG_PERSIST_PATH)); |
| |
| /** @brief Deserialze a persisted error into a d-bus object |
| * @param[in] path - pathname of persisted error file |
| * @param[in] e - reference to error object which is the target of |
| * deserialization. |
| * @return bool - true if the deserialization was successful, false otherwise. |
| */ |
| bool deserialize(const fs::path& path, Entry& e); |
| |
| /** @brief Return the path to serialize a log entry to |
| * @param[in] id - log entry ID |
| * @param[in] dir - pathname of directory where the serialized error will |
| * be placed. |
| * @return fs::path - pathname of persisted error file |
| */ |
| fs::path getEntrySerializePath( |
| uint32_t id, const fs::path& dir = fs::path(ERRLOG_PERSIST_PATH)); |
| |
| } // namespace logging |
| } // namespace phosphor |