Update VPD on BackUP Fru

In case the systemVPD is marked to be backed up on another
FRU. Backup data  also needs to be updated if system VPD, which
is listed to be backed up is being updated using writeKeyword
API of VPD-Manager.

Test:
* Check if the system vpd EEPROM entry in JSON has
"systemVpdBackupPath" flag.
* Implies the system is marked to back up susyem VPD on a FRU.
* Update any record/keyword marked to be backed up using
writeKeyword API exposed by VPD-Manager.
* Check if the same data is updated on the FRU marked for back up.

Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
Change-Id: I0c5454bcf74cb3768b38647716526f62ad7d60b3
diff --git a/vpd-manager/manager.hpp b/vpd-manager/manager.hpp
index f8b7cbc..4ee376f 100644
--- a/vpd-manager/manager.hpp
+++ b/vpd-manager/manager.hpp
@@ -172,6 +172,20 @@
     void triggerVpdCollection(const nlohmann::json& singleFru,
                               const std::string& path);
 
+    /** @brief Update FRU that back up system VPD.
+     *
+     * The API checks if the FRU being updated is system FRU and the record
+     * keyword pair being updated is the one that needs to be backed up and
+     * updates the back up FRU accordingly.
+     *
+     *  @param[in] recordName - name of the record.
+     *  @param[in] keyword - keyword whose value needs to be updated.
+     *  @param[in] value - value that needs to be updated.
+     */
+    void updateSystemVPDBackUpFRU(const std::string& recordName,
+                                  const std::string& keyword,
+                                  const Binary& value);
+
     /**
      * @brief Check for essential fru in the system.
      * The api check for the presence of FRUs marked as essential and logs PEL