| #pragma once | 
 |  | 
 | #include <sdbusplus/bus.hpp> | 
 |  | 
 | #include <string> | 
 |  | 
 | namespace phosphor | 
 | { | 
 | namespace software | 
 | { | 
 | namespace updater | 
 | { | 
 |  | 
 | class Helper | 
 | { | 
 |   public: | 
 |     Helper() = delete; | 
 |     Helper(const Helper&) = delete; | 
 |     Helper& operator=(const Helper&) = delete; | 
 |     Helper(Helper&&) = default; | 
 |     Helper& operator=(Helper&&) = delete; | 
 |     ~Helper() = default; | 
 |  | 
 |     /** @brief Constructor | 
 |      * | 
 |      *  @param[in] bus - sdbusplus D-Bus bus connection | 
 |      */ | 
 |     explicit Helper(sdbusplus::bus_t& bus) : bus(bus) | 
 |     { | 
 |         // Empty | 
 |     } | 
 |  | 
 |     /** @brief Set an environment variable to the specified value | 
 |      * | 
 |      * @param[in] entryId - The variable name | 
 |      * @param[in] value - The variable value | 
 |      */ | 
 |     void setEntry(const std::string& entryId, uint8_t value); | 
 |  | 
 |     /** @brief Clear an image with the entry id | 
 |      * | 
 |      * @param[in] entryId - The image entry id | 
 |      */ | 
 |     void clearEntry(const std::string& entryId); | 
 |  | 
 |     /** @brief Clean up all the unused images */ | 
 |     void cleanup(); | 
 |  | 
 |     /** @brief Do factory reset */ | 
 |     static void factoryReset(); | 
 |  | 
 |     /** @brief Remove the image with the flash id | 
 |      * | 
 |      * @param[in] flashId - The flash id of the image | 
 |      */ | 
 |     void removeVersion(const std::string& flashId); | 
 |  | 
 |     /** @brief Update flash id in uboot env | 
 |      * | 
 |      * @param[in] flashId - The flash id of the image | 
 |      */ | 
 |     void updateUbootVersionId(const std::string& flashId); | 
 |  | 
 |     /** @brief Mirror Uboot to the alt uboot partition */ | 
 |     void mirrorAlt(); | 
 |  | 
 |   private: | 
 |     /** @brief Persistent sdbusplus D-Bus bus connection. */ | 
 |     [[maybe_unused]] sdbusplus::bus_t& bus; | 
 | }; | 
 |  | 
 | } // namespace updater | 
 | } // namespace software | 
 | } // namespace phosphor |