| #pragma once | 
 |  | 
 | #include "xyz/openbmc_project/Common/TFTP/server.hpp" | 
 |  | 
 | #include <sdbusplus/bus.hpp> | 
 |  | 
 | #include <string> | 
 |  | 
 | namespace phosphor | 
 | { | 
 | namespace software | 
 | { | 
 | namespace manager | 
 | { | 
 |  | 
 | using DownloadInherit = sdbusplus::server::object_t< | 
 |     sdbusplus::server::xyz::openbmc_project::common::TFTP>; | 
 |  | 
 | /** @class Download | 
 |  *  @brief OpenBMC download software management implementation. | 
 |  *  @details A concrete implementation for xyz.openbmc_project.Common.TFTP | 
 |  *  DBus API. | 
 |  */ | 
 | class Download : public DownloadInherit | 
 | { | 
 |   public: | 
 |     /** @brief Constructs Download Software Manager | 
 |      * | 
 |      * @param[in] bus       - The Dbus bus object | 
 |      * @param[in] objPath   - The Dbus object path | 
 |      */ | 
 |     Download(sdbusplus::bus_t& bus, const std::string& objPath) : | 
 |         DownloadInherit(bus, (objPath).c_str()) {}; | 
 |  | 
 |     /** | 
 |      * @brief Download the specified image via TFTP | 
 |      * | 
 |      * @param[in] fileName      - The name of the file to transfer. | 
 |      * @param[in] serverAddress - The TFTP Server IP Address. | 
 |      **/ | 
 |     void downloadViaTFTP(std::string fileName, | 
 |                          std::string serverAddress) override; | 
 | }; | 
 |  | 
 | } // namespace manager | 
 | } // namespace software | 
 | } // namespace phosphor |