summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeepak Kodihalli <dkodihal@in.ibm.com>2017-06-12 09:14:57 -0500
committerPatrick Williams <patrick@stwcx.xyz>2017-06-26 02:33:38 +0000
commit9743189cb416059c5f35ab6a4b57f41fa04526ea (patch)
tree3da88576855699930b7d911020d7d210d43b7693
parent72654f10e45056ab55b77d835e2bfd01e8d98480 (diff)
downloadphosphor-logging-9743189cb416059c5f35ab6a4b57f41fa04526ea.tar.gz
phosphor-logging-9743189cb416059c5f35ab6a4b57f41fa04526ea.zip
Persist changes to 'Resolved' property
When an error is marked resolved, serialize and persist the changed 'Resolved' property. Change-Id: I922af84cbb826e1e43a0f0c99740868222ccb1fe Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
-rw-r--r--elog_entry.cpp18
-rw-r--r--elog_entry.hpp12
2 files changed, 21 insertions, 9 deletions
diff --git a/elog_entry.cpp b/elog_entry.cpp
index 07a2854..74fcc4b 100644
--- a/elog_entry.cpp
+++ b/elog_entry.cpp
@@ -1,5 +1,6 @@
#include "elog_entry.hpp"
#include "log_manager.hpp"
+#include "elog_serialize.hpp"
namespace phosphor
{
@@ -13,5 +14,22 @@ void Entry::delete_()
parent.erase(id());
}
+bool Entry::resolved(bool value)
+{
+ auto current = sdbusplus::xyz::openbmc_project::
+ Logging::server::Entry::resolved();
+ if (value != current)
+ {
+ value ?
+ associations({}) :
+ associations(assocs);
+ current = sdbusplus::xyz::openbmc_project::
+ Logging::server::Entry::resolved(value);
+ serialize(*this);
+ }
+
+ return current;
+}
+
} // namespace logging
} // namepsace phosphor
diff --git a/elog_entry.hpp b/elog_entry.hpp
index ffff8af..b3d5963 100644
--- a/elog_entry.hpp
+++ b/elog_entry.hpp
@@ -69,7 +69,8 @@ class Entry : public EntryIfaces
associations(std::move(objects));
// Store a copy of associations in case we need to recreate
assocs = associations();
- resolved(false);
+ sdbusplus::xyz::openbmc_project::
+ Logging::server::Entry::resolved(false);
// Emit deferred signal.
this->emit_object_added();
@@ -98,15 +99,8 @@ class Entry : public EntryIfaces
* status (true = resolved)
* @returns value of 'Resolved' property
*/
- bool resolved(bool value) override
- {
- value ?
- associations({}) :
- associations(assocs);
+ bool resolved(bool value) override;
- return sdbusplus::xyz::openbmc_project::
- Logging::server::Entry::resolved(value);
- }
using sdbusplus::xyz::openbmc_project::
Logging::server::Entry::resolved;
OpenPOWER on IntegriCloud