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/test/fru_jsons/fru_master/fru_master.json b/libpldmresponder/test/fru_jsons/fru_master/fru_master.json
new file mode 100644
index 0000000..5a87eb7
--- /dev/null
+++ b/libpldmresponder/test/fru_jsons/fru_master/fru_master.json
@@ -0,0 +1,21 @@
+{
+        "FruDBusLookupMap":{
+                        "xyz.openbmc_project.Inventory.Item.Chassis" : 45,
+                        "xyz.openbmc_project.Inventory.Item.Board": 60,
+                        "xyz.openbmc_project.Inventory.Item.PCIeDevice": 61,
+                        "xyz.openbmc_project.Inventory.Item.Board.Motherboard": 64,
+                        "xyz.openbmc_project.Inventory.Item.Dimm": 66,
+                        "xyz.openbmc_project.Inventory.Item.Panel": 69,
+                        "xyz.openbmc_project.Inventory.Item.DiskBackplane": 73,
+                        "xyz.openbmc_project.Inventory.Item.Fan": 93,
+                        "xyz.openbmc_project.Inventory.Item.PowerSupply": 120,
+                        "xyz.openbmc_project.Inventory.Item.Battery": 121,
+                        "xyz.openbmc_project.Inventory.Item.Vrm": 123,
+                        "xyz.openbmc_project.Inventory.Item.Cpu": 135,
+                        "xyz.openbmc_project.Inventory.Item.Bmc": 137,
+                        "xyz.openbmc_project.Inventory.Item.Connector": 185,
+                        "xyz.openbmc_project.Inventory.Item.PCIeSlot": 186,
+                        "xyz.openbmc_project.Inventory.Item.System": 11521,
+                        "xyz.openbmc_project.Inventory.Item.Tpm": 24576
+           }
+}
diff --git a/libpldmresponder/test/libpldmresponder_fru_test.cpp b/libpldmresponder/test/libpldmresponder_fru_test.cpp
index 8219d75..6c942da 100644
--- a/libpldmresponder/test/libpldmresponder_fru_test.cpp
+++ b/libpldmresponder/test/libpldmresponder_fru_test.cpp
@@ -5,7 +5,8 @@
 {
     using namespace pldm::responder::fru_parser;
 
-    FruParser parser{"./fru_jsons/good"};
+    FruParser parser{"./fru_jsons/good",
+                     "./fru_jsons/fru_master/fru_master.json"};
 
     // Get an item with a single PLDM FRU record
     FruRecordInfos cpu{