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
*/