1 #pragma once 2 3 #include "blob_interface.hpp" 4 #include "interface.hpp" 5 6 #include <cstdint> 7 8 namespace host_tool 9 { 10 11 struct LpcRegion 12 { 13 /* Host LPC address at which the chunk is to be mapped. */ 14 std::uint32_t address; 15 /* Size of the chunk to be mapped. */ 16 std::uint32_t length; 17 }; 18 19 class LpcDataHandler : public DataInterface 20 { 21 public: 22 explicit LpcDataHandler(BlobInterface* blob) : blob(blob){}; 23 24 bool sendContents(const std::string& input, std::uint16_t session) override; 25 blobs::FirmwareBlobHandler::UpdateFlags supportedType() const override 26 { 27 return blobs::FirmwareBlobHandler::UpdateFlags::lpc; 28 } 29 30 private: 31 BlobInterface* blob; 32 }; 33 34 } // namespace host_tool 35