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