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