| #pragma once |
| |
| #include "config.h" |
| |
| #include <experimental/filesystem> |
| #include <set> |
| |
| namespace phosphor |
| { |
| namespace dump |
| { |
| namespace elog |
| { |
| using EId = uint32_t; |
| using ElogList = std::set<EId>; |
| |
| namespace fs = std::experimental::filesystem; |
| |
| /** @brief Serialize and persist list of ids. |
| * @param[in] list - elog id list. |
| * @param[in] dir - pathname of file where the serialized elog id's will |
| * be placed. |
| */ |
| void serialize(const ElogList& list, |
| const fs::path& dir = fs::path(ELOG_ID_PERSIST_PATH)); |
| |
| /** @brief Deserialze a persisted list of ids into list |
| * @param[in] path - pathname of persisted error file |
| * @param[out] list - elog id list |
| * @return bool - true if the deserialization was successful, false otherwise. |
| */ |
| bool deserialize(const fs::path& path, ElogList& list); |
| |
| } // namespace elog |
| } // namespace dump |
| } // namespace phosphor |