Publish BMC position on DBus
For RBMC prototype systems, the BMC position needs to be determined
because some services run only on the active BMC.
This commit adds a stub API to detect whether the system is an RBMC
prototype. If it is, the BMC position is published on DBus based on
Motherboard VPD EEPROM access.
Change-Id: I38b9f6b5d1ba4e840ad98208c7983fc650d0735b
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>
diff --git a/vpd-manager/oem-handler/ibm_handler.hpp b/vpd-manager/oem-handler/ibm_handler.hpp
index 73ae2e1..6a79133 100644
--- a/vpd-manager/oem-handler/ibm_handler.hpp
+++ b/vpd-manager/oem-handler/ibm_handler.hpp
@@ -120,6 +120,26 @@
*/
void enableMuxChips();
+ /**
+ * @brief Checks whether the system is an RBMC prototype.
+ *
+ * @param[out] o_errCode - To set error code in case of error.
+ *
+ * @return true for RBMC prototype system, false otherwise.
+ */
+ bool isRbmcProtoTypeSystem(
+ [[maybe_unused]] uint16_t& o_errCode) const noexcept;
+
+ /**
+ * @brief Checks whether the motherboard EEPROM is accessible.
+ *
+ * This function is used to update the BMC position for the RBMC prototype
+ * system based on whether the motherboard EEPROM can be accessed.
+ *
+ * @return true if able to access motherboard EEPROM, false otherwise.
+ */
+ bool isMotherboardEepromAccessible() const noexcept;
+
// Parsed system config json object.
nlohmann::json m_sysCfgJsonObj{};