Add support for vendor specific FruDbusLookup

In the current state, a vendor could not define the FRU's
that he wants to send to the host.

This commit adds a fru_master.json that can be used while
building the master , and the json would be replaced with
fru_master.json from the oem/<vendor>/configurations
directory when compiling for oem's.

Tested By:

IBM machine test :
1. meson build -Doem-ibm=enabled -Dprefix=<>
2. ninja -C build && ninja install
3. in the prefix directory we should see the json file
   from the oem/ibm/configurations folder

Non IBM machine test :
1. meson build -Doem-ibm=disabled -Dprefix=<>
2. ninja -C build && ninja install
3. in the prefix directory we should see the json file
   from the pldm/configurations folder.

Runtime test:
1. on an IBM machine make sure the pldm builds the fru record
   table.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Id3c2746c51a1f99f2038b2af48137133e9d0b405
diff --git a/libpldmresponder/fru_parser.hpp b/libpldmresponder/fru_parser.hpp
index ce09986..fc3234e 100644
--- a/libpldmresponder/fru_parser.hpp
+++ b/libpldmresponder/fru_parser.hpp
@@ -67,7 +67,8 @@
 
   public:
     FruParser() = delete;
-    explicit FruParser(const std::string& dirPath);
+    explicit FruParser(const std::string& dirPath,
+                       const std::filesystem::path& fruMasterJsonPath);
     virtual ~FruParser() = default;
     FruParser(const FruParser&) = default;
     FruParser& operator=(const FruParser&) = default;
@@ -121,8 +122,11 @@
     void setupFruRecordMap(const std::string& dirPath);
 
     /** @brief Set the default service root D-Bus path and the item interfaces.
+     *
+     *  @param[in] fruMasterJsonPath - json file path that contains the FRU
+     * D-Bus lookup map
      */
-    void setupDefaultDBusLookup();
+    void setupDefaultDBusLookup(const std::filesystem::path& fruMasterJsonPath);
 
     /** @brief Build the default FRU record informations
      */