blob: d5cf41211374654a11478c1fca5ec864a82bacbc [file] [log] [blame]
Varsha Kaverappae1874e82023-05-02 09:53:24 -05001#pragma once
2
3#include "file_io_by_type.hpp"
4
5namespace pldm
6{
7namespace responder
8{
9using vpdFileType = uint16_t;
10/** @class keywordFileHandler
11 *
12 * @brief Inherits and implements FileHandler. This class is used
13 * to read #D keyword file
14 */
15class keywordHandler : public FileHandler
16{
17 public:
18 /** @brief Handler constructor
19 */
20 keywordHandler(uint32_t fileHandle, uint16_t fileType) :
21 FileHandler(fileHandle), vpdFileType(fileType)
22 {}
23 virtual int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,
24 uint64_t /*address*/,
25 oem_platform::Handler* /*oemPlatformHandler*/)
26 {
27 return PLDM_ERROR_UNSUPPORTED_PLDM_CMD;
28 }
29 virtual int readIntoMemory(uint32_t /*offset*/, uint32_t& /*length*/,
30 uint64_t /*address*/,
31 oem_platform::Handler* /*oemPlatformHandler*/)
32 {
33 return PLDM_ERROR_UNSUPPORTED_PLDM_CMD;
34 }
35 virtual int read(uint32_t offset, uint32_t& length, Response& response,
36 oem_platform::Handler* /*oemPlatformHandler*/);
37 virtual int write(const char* /*buffer*/, uint32_t /*offset*/,
38 uint32_t& /*length*/,
39 oem_platform::Handler* /*oemPlatformHandler*/)
40 {
41 return PLDM_ERROR_UNSUPPORTED_PLDM_CMD;
42 }
43 virtual int fileAck(uint8_t /*fileStatus*/)
44 {
45 return PLDM_ERROR_UNSUPPORTED_PLDM_CMD;
46 }
47 virtual int newFileAvailable(uint64_t /*length*/)
48 {
49 return PLDM_ERROR_UNSUPPORTED_PLDM_CMD;
50 }
51 virtual int fileAckWithMetaData(uint8_t /*fileStatus*/,
52 uint32_t /*metaDataValue1*/,
53 uint32_t /*metaDataValue2*/,
54 uint32_t /*metaDataValue3*/,
55 uint32_t /*metaDataValue4*/)
56 {
57 return PLDM_ERROR_UNSUPPORTED_PLDM_CMD;
58 }
59 virtual int newFileAvailableWithMetaData(uint64_t /*length*/,
60 uint32_t /*metaDataValue1*/,
61 uint32_t /*metaDataValue2*/,
62 uint32_t /*metaDataValue3*/,
63 uint32_t /*metaDataValue4*/)
64 {
65 return PLDM_ERROR_UNSUPPORTED_PLDM_CMD;
66 }
67 /** @brief keywordHandler destructor
68 */
69 ~keywordHandler() {}
70
71 private:
72 uint16_t vpdFileType; //!< type of the VPD file
73};
74} // namespace responder
75} // namespace pldm