oem-ibm: Support system reboot after inband code update

This commit adds a bmc effecter that causes a system reboot(
phyp, chassis and bmc)

After bmc sends an end update successful event, Host will
set this new effecter. Upon getting the setStateEffecterStates
call bmc-pldm does the following:
1. Set the power restore to reboot the host once the BMC
   is rebooted
2. power off Host and Chassis
3. reboot the bmc

Tested with pldmtool
Steps after patching changes:
1. Boot host to STANDBY
2. Fetch the effecter to note the effecterId
   Ex: ./pldmtool platform GetPDR -d 28
3. Trigger the system reboot by toggling the effecter
   ./pldmtool platform SetStateEffecterStates -i 10 -c 1
   -d 1 1

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: Id2d4201a7d61ae335adc64f2583571a37dc7879d
diff --git a/oem/ibm/libpldmresponder/inband_code_update.hpp b/oem/ibm/libpldmresponder/inband_code_update.hpp
index 77f55f1..2bd02f4 100644
--- a/oem/ibm/libpldmresponder/inband_code_update.hpp
+++ b/oem/ibm/libpldmresponder/inband_code_update.hpp
@@ -39,6 +39,7 @@
         nextBootSide = Tside;
         markerLidSensorId = PLDM_INVALID_EFFECTER_ID;
         firmwareUpdateSensorId = PLDM_INVALID_EFFECTER_ID;
+        imageActivationMatch = nullptr;
     }
 
     /* @brief Method to return the current boot side
@@ -183,7 +184,7 @@
     std::vector<std::unique_ptr<sdbusplus::bus::match::match>>
         captureNextBootSideChange; //!< vector to catch the D-Bus property
                                    //!< change for next boot side
-    std::unique_ptr<sdbusplus::bus::match::match>
+    std::vector<std::unique_ptr<sdbusplus::bus::match::match>>
         fwUpdateMatcher; //!< pointer to capture the interface added signal for
                          //!< new image
     pldm::responder::oem_platform::Handler*
@@ -191,6 +192,9 @@
     uint16_t markerLidSensorId;
     uint16_t firmwareUpdateSensorId;
 
+    /** @brief D-Bus property changed signal match for image activation */
+    std::unique_ptr<sdbusplus::bus::match::match> imageActivationMatch;
+
     /* @brief Method to take action when the subscribed D-Bus property is
      *        changed
      * @param[in] chProperties - list of properties which have changed