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");
         }