Sync PSU images on service startup

On service startup, it shall check the PSU images, find a latest
version, and update to the PSUs that are not with this version.

Tested: With dummy image and service, test on Witherspoon with 2
        different running PSU software:
* When startup without stored image, the serive tries to update an older
PSU but it does not have PSU image, so it's skipped with below journal
log:
    Automatically update PSU
    No image for the activation, skipped
* When startup with an older image stored in BMC, it behaves the same as
above.
* When startup with a new image stored in BMC, it updates the PSUs, with
below example journal log:
    Automatically update PSU
    Starting Update PSU
    /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0
    /var/lib/obmc/psu/2B1D...
    Started Update PSU
    /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0
    /var/lib/obmc/psu/2B1D.
    Starting Update PSU
    /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1
    /var/lib/obmc/psu/2B1D...
    Started Update PSU
    /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1
    /var/lib/obmc/psu/2B1D.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I6d676c5a4441685fb2b5920455f439c00f6097af
diff --git a/src/item_updater.hpp b/src/item_updater.hpp
index 2f23b1e..b713454 100644
--- a/src/item_updater.hpp
+++ b/src/item_updater.hpp
@@ -55,7 +55,7 @@
     {
         processPSUImage();
         processStoredImage();
-        getLatestVersionId();
+        syncToLatestImage();
     }
 
     /** @brief Deletes version
@@ -154,6 +154,12 @@
     /** @brief Get the versionId of the latest PSU version */
     std::optional<std::string> getLatestVersionId();
 
+    /** @brief Update PSUs to the latest version */
+    void syncToLatestImage();
+
+    /** @brief Invoke the activation via DBus */
+    void invokeActivation(const std::unique_ptr<Activation>& activation);
+
     /** @brief Persistent sdbusplus D-Bus bus connection. */
     sdbusplus::bus::bus& bus;