1 #pragma once 2 3 #include "interface.hpp" 4 #include "internal/sys.hpp" 5 #include "progress.hpp" 6 7 #include <ipmiblob/blob_interface.hpp> 8 9 namespace host_tool 10 { 11 12 class BtDataHandler : public DataInterface 13 { 14 public: BtDataHandler(ipmiblob::BlobInterface * blob,ProgressInterface * progress,const internal::Sys * sys=& internal::sys_impl)15 BtDataHandler(ipmiblob::BlobInterface* blob, ProgressInterface* progress, 16 const internal::Sys* sys = &internal::sys_impl) : 17 blob(blob), progress(progress), sys(sys) {}; 18 19 bool sendContents(const std::string& input, std::uint16_t session) override; supportedType() const20 ipmi_flash::FirmwareFlags::UpdateFlags supportedType() const override 21 { 22 return ipmi_flash::FirmwareFlags::UpdateFlags::ipmi; 23 } 24 25 private: 26 ipmiblob::BlobInterface* blob; 27 ProgressInterface* progress; 28 const internal::Sys* sys; 29 }; 30 31 } // namespace host_tool 32