---
 src/osaf/consensus/consensus.cc | 17 +++++++++++++++++
 src/osaf/consensus/consensus.h  |  3 +++
 2 files changed, 20 insertions(+)

diff --git a/src/osaf/consensus/consensus.cc b/src/osaf/consensus/consensus.cc
index 800b776e6..2a8e9bb1c 100644
--- a/src/osaf/consensus/consensus.cc
+++ b/src/osaf/consensus/consensus.cc
@@ -453,6 +453,23 @@ SaAisErrorT Consensus::ParseTakeoverRequest(const 
std::string& request,
   return SA_AIS_OK;
 }
 
+SaAisErrorT Consensus::ReadTakeoverRequest(std::string& request) {
+  TRACE_ENTER();
+
+  std::string value;
+  SaAisErrorT rc;
+
+  rc = KeyValue::Get(kTakeoverRequestKeyname, value);
+  if (rc != SA_AIS_OK) {
+    // it doesn't always exist, don't log an error
+    TRACE("Could not read takeover request (%d)", rc);
+    return SA_AIS_ERR_FAILED_OPERATION;
+  }
+
+  request = value;
+  return SA_AIS_OK;
+}
+
 SaAisErrorT Consensus::ReadTakeoverRequest(std::vector<std::string>& tokens) {
   TRACE_ENTER();
 
diff --git a/src/osaf/consensus/consensus.h b/src/osaf/consensus/consensus.h
index fbcbb2037..a606d9de1 100644
--- a/src/osaf/consensus/consensus.h
+++ b/src/osaf/consensus/consensus.h
@@ -45,6 +45,9 @@ class Consensus {
   void MonitorTakeoverRequest(ConsensusCallback callback,
                               const uint32_t user_defined);
 
+  // Retrieve takeover request (if any)
+  SaAisErrorT ReadTakeoverRequest(std::string& request);
+
   // Is consensus service enabled?
   bool IsEnabled() const;
 
-- 
2.17.1


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to