Memory VPD parser
This commit supports Implementation part of Memory vpd parser.
JSON support for DIMMs need to be done, so not tested.
Change-Id: I6bff9c75a335b0267d8f2b9fa4f1905953b24da5
Signed-off-by: Alpana Kumari <alpankum@in.ibm.com>
diff --git a/ibm_vpd_app.cpp b/ibm_vpd_app.cpp
index 24363d0..ac96295 100644
--- a/ibm_vpd_app.cpp
+++ b/ibm_vpd_app.cpp
@@ -2,6 +2,7 @@
#include "defines.hpp"
#include "keyword_vpd_parser.hpp"
+#include "memory_vpd_parser.hpp"
#include "parser.hpp"
#include "utils.hpp"
@@ -24,6 +25,7 @@
namespace fs = filesystem;
using json = nlohmann::json;
using namespace openpower::vpd::inventory;
+using namespace openpower::vpd::memory::parser;
/**
* @brief Expands location codes
@@ -475,10 +477,23 @@
KeywordVpdParser parserObj(move(vpdVector));
// Invoking KW Vpd Parser
const auto& kwValMap = parserObj.parseKwVpd();
- string preIntrStr = "com.ibm.kwvpd.KWVPD";
+ string preIntrStr = "com.ibm.ipzvpd.VINI";
populateDbus(kwValMap, js, file, preIntrStr);
}
break;
+
+ case MEMORY_VPD:
+ {
+ // Get an object to call API & get the key-value map
+ memoryVpdParser vpdParser(move(vpdVector));
+ const auto& memKwValMap = vpdParser.parseMemVpd();
+
+ string preIntrStr = "com.ibm.kwvpd.KWVPD";
+ // js(define dimm sys path in js), ObjPath(define in JS)
+ populateDbus(memKwValMap, js, file, preIntrStr);
+ }
+ break;
+
default:
throw std::runtime_error("Invalid VPD format");
}