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