#pragma once #include "file_io_by_type.hpp" namespace pldm { namespace responder { using vpdFileType = uint16_t; /** @class keywordFileHandler * * @brief Inherits and implements FileHandler. This class is used * to read #D keyword file */ class keywordHandler : public FileHandler { public: /** @brief Handler constructor */ keywordHandler(uint32_t fileHandle, uint16_t fileType) : FileHandler(fileHandle), vpdFileType(fileType) {} virtual int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/, uint64_t /*address*/, oem_platform::Handler* /*oemPlatformHandler*/) { return PLDM_ERROR_UNSUPPORTED_PLDM_CMD; } virtual int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/, uint64_t /*address*/, oem_platform::Handler* /*oemPlatformHandler*/) { return PLDM_ERROR_UNSUPPORTED_PLDM_CMD; } virtual int read(uint32_t offset, uint32_t& length, Response& response, oem_platform::Handler* /*oemPlatformHandler*/); virtual int write(const char* /*buffer*/, uint32_t /*offset*/, uint32_t& /*length*/, oem_platform::Handler* /*oemPlatformHandler*/) { return PLDM_ERROR_UNSUPPORTED_PLDM_CMD; } virtual int fileAck(uint8_t /*fileStatus*/) { return PLDM_ERROR_UNSUPPORTED_PLDM_CMD; } virtual int newFileAvailable(uint64_t /*length*/) { return PLDM_ERROR_UNSUPPORTED_PLDM_CMD; } virtual int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/, uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/, uint32_t /*metaDataValue4*/) { return PLDM_ERROR_UNSUPPORTED_PLDM_CMD; } virtual int newFileAvailableWithMetaData(uint64_t /*length*/, uint32_t /*metaDataValue1*/, uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/, uint32_t /*metaDataValue4*/) { return PLDM_ERROR_UNSUPPORTED_PLDM_CMD; } /** @brief keywordHandler destructor */ ~keywordHandler() {} private: uint16_t vpdFileType; //!< type of the VPD file }; } // namespace responder } // namespace pldm