JSON and API prototype to update powerVS VPD

The commit introduces JSON file to hold the VPD that needs to be
updated for systems with PowerVS configuration.

It also adds API to fetch JSON as per system IM and prototype for API
which will checks the existing data and based on that will either skip
or update the VPD.

Change-Id: I5c279ce210831667be669c2a7c9c7d9c160de336
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
diff --git a/vpd-manager/include/manager.hpp b/vpd-manager/include/manager.hpp
index e744f7a..ad67694 100644
--- a/vpd-manager/include/manager.hpp
+++ b/vpd-manager/include/manager.hpp
@@ -262,6 +262,19 @@
     void processFailedEeproms();
 
     /**
+     * @brief API to check and update PowerVS VPD.
+     *
+     * The API will read the existing data from the DBus and if found
+     * different than what has been read from JSON, it will update the VPD with
+     * JSON data on hardware and DBus both.
+     *
+     * @param[in] i_powerVsJsonObj - PowerVS JSON object.
+     * @param[out] o_failedPathList - List of path failed to update.
+     */
+    void checkAndUpdatePowerVsVpd(const nlohmann::json& i_powerVsJsonObj,
+                                  std::vector<std::string>& o_failedPathList);
+
+    /**
      * @brief API to handle configuration w.r.t. PowerVS systems.
      *
      * Some FRUs VPD is specific to powerVS system. The API detects the