blob: d5cf41211374654a11478c1fca5ec864a82bacbc [file] [log] [blame]
#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