| #pragma once |
| |
| #include <string> |
| #include <sdbusplus/bus.hpp> |
| |
| 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&&) = default; |
| |
| /** @brief Constructor |
| * |
| * @param[in] bus - sdbusplus D-Bus bus connection |
| */ |
| Helper(sdbusplus::bus::bus& 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 */ |
| void factoryReset(); |
| |
| /** @brief Remove the image with the version id |
| * |
| * @param[in] versionId - The version id of the image |
| */ |
| void removeVersion(const std::string& versionId); |
| |
| /** @brief Update version id in uboot env |
| * |
| * @param[in] versionId - The version id of the image |
| */ |
| void updateUbootVersionId(const std::string& versionId); |
| |
| /** @brief Enable field mode */ |
| void enableFieldMode(); |
| |
| /** @brief Mirror Uboot to the alt uboot partition */ |
| void mirrorAlt(); |
| |
| private: |
| /** @brief Persistent sdbusplus D-Bus bus connection. */ |
| sdbusplus::bus::bus& bus; |
| }; |
| |
| } // namespace updater |
| } // namespace software |
| } // namespace phosphor |