summaryrefslogtreecommitdiffstats
path: root/src/event_serialize.hpp
diff options
context:
space:
mode:
authorDhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>2017-10-18 01:41:51 -0500
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-04-11 05:05:20 +0000
commit6524b9d8385919276d21471bec4352b00146c2d0 (patch)
tree6e6097c7c798ef96cd03b2864a8de908606925ca /src/event_serialize.hpp
parent06fdaff4bbfadf84123d5275433318e82643807a (diff)
downloadphosphor-dbus-monitor-6524b9d8385919276d21471bec4352b00146c2d0.tar.gz
phosphor-dbus-monitor-6524b9d8385919276d21471bec4352b00146c2d0.zip
Add persistency for events
Persist event D-bus objects using cereal Resolves openbmc/openbmc#2319 Change-Id: Ifa15d944fe1d1026761f65eeb647dcbdf6afdba0 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Diffstat (limited to 'src/event_serialize.hpp')
-rw-r--r--src/event_serialize.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/event_serialize.hpp b/src/event_serialize.hpp
new file mode 100644
index 0000000..f052845
--- /dev/null
+++ b/src/event_serialize.hpp
@@ -0,0 +1,30 @@
+#pragma once
+
+#include <experimental/filesystem>
+#include "event_entry.hpp"
+#include "config.h"
+
+namespace phosphor
+{
+namespace events
+{
+
+namespace fs = std::experimental::filesystem;
+
+/** @brief Serialize and persist event d-bus object
+ * @param[in] event - const reference to event entry.
+ * @param[in] eventName - Name of the event.
+ * @return fs::path - pathname of persisted events file
+ */
+fs::path serialize(const Entry& event, const std::string& eventName);
+
+/** @brief Deserialze a persisted event into a d-bus object
+ * @param[in] path - pathname of persisted event file
+ * @param[in] event - reference to event object which is the target of
+ * deserialization.
+ * @return bool - true if the deserialization was successful, false otherwise.
+ */
+bool deserialize(const fs::path& path, Entry& event);
+
+} // namespace events
+} // namespace phosphor
OpenPOWER on IntegriCloud