1 #pragma once 2 3 #include <experimental/filesystem> 4 #include "event_entry.hpp" 5 #include "config.h" 6 7 namespace phosphor 8 { 9 namespace events 10 { 11 12 namespace fs = std::experimental::filesystem; 13 14 /** @brief Serialize and persist event d-bus object 15 * @param[in] event - const reference to event entry. 16 * @param[in] eventName - Name of the event. 17 * @return fs::path - pathname of persisted events file 18 */ 19 fs::path serialize(const Entry& event, const std::string& eventName); 20 21 /** @brief Deserialze a persisted event into a d-bus object 22 * @param[in] path - pathname of persisted event file 23 * @param[in] event - reference to event object which is the target of 24 * deserialization. 25 * @return bool - true if the deserialization was successful, false otherwise. 26 */ 27 bool deserialize(const fs::path& path, Entry& event); 28 29 } // namespace events 30 } // namespace phosphor 31