| #pragma once |
| |
| #include <sdbusplus/async/context.hpp> |
| #include <xyz/openbmc_project/Software/Update/aserver.hpp> |
| |
| namespace phosphor::software |
| { |
| class Software; |
| }; |
| |
| using RequestedApplyTimes = sdbusplus::common::xyz::openbmc_project::software:: |
| ApplyTime::RequestedApplyTimes; |
| |
| namespace phosphor::software::update |
| { |
| |
| class SoftwareUpdate : |
| public sdbusplus::aserver::xyz::openbmc_project::software::Update< |
| SoftwareUpdate> |
| { |
| public: |
| SoftwareUpdate(sdbusplus::async::context& ctx, const char* path, |
| Software& software, |
| const std::set<RequestedApplyTimes>& allowedApplyTimes); |
| |
| auto method_call(start_update_t su, auto image, auto applyTime) |
| -> sdbusplus::async::task<start_update_t::return_type>; |
| |
| auto get_property(allowed_apply_times_t aat) const; |
| |
| private: |
| Software& software; |
| |
| const std::set<RequestedApplyTimes> allowedApplyTimes; |
| }; |
| |
| }; // namespace phosphor::software::update |