blob: bb6f22f5da75e8b7d347a38795fce2d173334c7e [file] [log] [blame]
Dhruvaraj Subhashchandran6524b9d2017-10-18 01:41:51 -05001#pragma once
2
Dhruvaraj Subhashchandran6524b9d2017-10-18 01:41:51 -05003#include "config.h"
4
Patrick Venture3d6d3182018-08-31 09:33:09 -07005#include "event_entry.hpp"
6
7#include <experimental/filesystem>
Andrew Geisslerae4c95c2020-05-16 13:58:53 -05008#include <string>
Patrick Venture3d6d3182018-08-31 09:33:09 -07009
Dhruvaraj Subhashchandran6524b9d2017-10-18 01:41:51 -050010namespace phosphor
11{
12namespace events
13{
14
15namespace fs = std::experimental::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 */
22fs::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 */
30bool deserialize(const fs::path& path, Entry& event);
31
32} // namespace events
33} // namespace phosphor