Correction of VPD using ECC

ECC algorithm corrects VPD data in 32:1 bit ratio in the
event of corruption.
Main Test Cases:
1) Check correction of KW in records.
2) Check correction while writing and reading VPD.
3) Check for Module VPD correction.

Signed-off-by: Giridhari Krishna <giridharikrishnan@gmail.com>
Change-Id: I48a3db18df9d3a2aecde814610ab1b357e6f310d
diff --git a/vpd-parser/ipz_parser.hpp b/vpd-parser/ipz_parser.hpp
index 5a0865c..e431cd3 100644
--- a/vpd-parser/ipz_parser.hpp
+++ b/vpd-parser/ipz_parser.hpp
@@ -31,9 +31,16 @@
 
     /**
      * @brief Constructor
+     * @param[in] - VpdVector - vpd buffer
+     * @param[in] - path - Inventory Path
+     * @param[in] - vpdFilePath - VPD H/w path
+     * @param[in] - vpdStartOffset - VPD starting offset
      */
-    IpzVpdParser(const Binary& VpdVector, const std::string& path) :
-        vpd(VpdVector), inventoryPath(path)
+    IpzVpdParser(const Binary& VpdVector, const std::string& path,
+                 const std::string& vpdFilePath, uint32_t vpdStartOffset) :
+        vpd(VpdVector),
+        inventoryPath(path), vpdFilePath(vpdFilePath),
+        vpdStartOffset(vpdStartOffset)
     {
     }
 
@@ -63,6 +70,13 @@
 
     /*Inventory path of the FRU */
     const std::string inventoryPath;
+
+    /* VPD Path */
+    const std::string vpdFilePath;
+
+    /* Offset */
+    uint32_t vpdStartOffset;
+
 }; // class IpzVpdParser
 
 } // namespace parser