blob: 8807eba095d4da8df27f5eed8ce5f05c85e94f41 [file] [log] [blame]
#pragma once
#include "section.hpp"
#include "stream.hpp"
namespace openpower
{
namespace pels
{
namespace section_factory
{
/**
* @brief Create a PEL section based on its data
*
* This creates the appropriate PEL section object based on the section ID in
* the first 2 bytes of the stream, but returns the base class Section pointer.
*
* If there isn't a class specifically for that section, it defaults to
* creating an instance of the 'Generic' class.
*
* @param[in] pelData - The PEL data stream
*
* @return std::unique_ptr<Section> - class of the appropriate type
*/
std::unique_ptr<Section> create(Stream& pelData);
} // namespace section_factory
} // namespace pels
} // namespace openpower