xref: /openbmc/phosphor-ipmi-flash/tools/bt.hpp (revision c181ebafca220bb8492da47f208ebefb84be6007)
1af69625fSPatrick Venture #pragma once
2af69625fSPatrick Venture 
300887597SPatrick Venture #include "blob_interface.hpp"
4af69625fSPatrick Venture #include "interface.hpp"
5*c181ebafSPatrick Venture #include "internal/sys.hpp"
6af69625fSPatrick Venture 
79b534f06SPatrick Venture namespace host_tool
89b534f06SPatrick Venture {
99b534f06SPatrick Venture 
10af69625fSPatrick Venture class BtDataHandler : public DataInterface
11af69625fSPatrick Venture {
12af69625fSPatrick Venture   public:
13*c181ebafSPatrick Venture     BtDataHandler(BlobInterface* blob,
14*c181ebafSPatrick Venture                   const internal::Sys* sys = &internal::sys_impl) :
15*c181ebafSPatrick Venture         blob(blob),
16*c181ebafSPatrick Venture         sys(sys){};
17af69625fSPatrick Venture 
18af69625fSPatrick Venture     bool sendContents(const std::string& input, std::uint16_t session) override;
198a55dcbdSPatrick Venture     blobs::FirmwareBlobHandler::UpdateFlags supportedType() const override
208a55dcbdSPatrick Venture     {
218a55dcbdSPatrick Venture         return flags;
228a55dcbdSPatrick Venture     }
2300887597SPatrick Venture 
2400887597SPatrick Venture   private:
2500887597SPatrick Venture     BlobInterface* blob;
26*c181ebafSPatrick Venture     const internal::Sys* sys;
278a55dcbdSPatrick Venture     blobs::FirmwareBlobHandler::UpdateFlags flags =
288a55dcbdSPatrick Venture         blobs::FirmwareBlobHandler::UpdateFlags::ipmi;
29af69625fSPatrick Venture };
309b534f06SPatrick Venture 
319b534f06SPatrick Venture } // namespace host_tool
32