1 #pragma once 2 3 #include "file_io_by_type.hpp" 4 5 namespace pldm 6 { 7 namespace responder 8 { 9 10 using namespace pldm::responder::dma; 11 12 /** @class PelHandler 13 * 14 * @brief Inherits and implements FileHandler. This class is used 15 * to read/write pels. 16 */ 17 class PelHandler : public FileHandler 18 { 19 public: 20 /** @brief PelHandler constructor 21 */ 22 PelHandler(uint32_t fileHandle) : FileHandler(fileHandle) 23 { 24 } 25 26 virtual int writeFromMemory(uint32_t offset, uint32_t length, 27 uint64_t address); 28 virtual int readIntoMemory(uint32_t offset, uint32_t length, 29 uint64_t address); 30 31 /** @brief method to store a pel file in tempfs and send 32 * d-bus notification to pel daemon that it is ready for consumption 33 * 34 * @param[in] pelFileName - the pel file path 35 */ 36 virtual int storePel(std::string&& pelFileName); 37 38 /** @brief PelHandler destructor 39 */ 40 ~PelHandler() 41 { 42 } 43 }; 44 45 } // namespace responder 46 } // namespace pldm 47