pldmd: D-Bus to host effecter translation
This commit implements a mechanism to move the Host's boot state
from 'not started' to 'boot complete' by setting the relevant
Host effecter when the associated D-Bus property is set in the BMC.
Also added an example JSON to match D-Bus to host effecters
Change-Id: I41025d99d2b4b3452d4c51b03efe3750e159328b
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
diff --git a/utils.hpp b/utils.hpp
index d93a807..0eb2b2d 100644
--- a/utils.hpp
+++ b/utils.hpp
@@ -25,6 +25,7 @@
{
namespace fs = std::filesystem;
+using Json = nlohmann::json;
/** @struct CustomFD
*
@@ -249,6 +250,7 @@
* @return uint8_t - MCTP EID
*/
uint8_t readHostEID();
+
/** @brief Convert a value in the JSON to a D-Bus property value
*
* @param[in] type - type of the D-Bus property
@@ -282,5 +284,18 @@
uint16_t stateSetId,
const pldm_pdr* repo);
+/** @brief Find effecter id from a state effecter pdr
+ * @param[in] pdrRepo - PDR repository
+ * @param[in] entityType - entity type
+ * @param[in] entityInstance - entity instance number
+ * @param[in] containerId - container id
+ * @param[in] stateSetId - state set id
+ *
+ * @return uint16_t - the effecter id
+ */
+uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,
+ uint16_t entityInstance, uint16_t containerId,
+ uint16_t stateSetId);
+
} // namespace utils
} // namespace pldm