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