1*85e54f1bSJason Ling #pragma once 2*85e54f1bSJason Ling #include "buildjson.hpp" 3*85e54f1bSJason Ling #include "version_handler.hpp" 4*85e54f1bSJason Ling 5*85e54f1bSJason Ling #include <nlohmann/json.hpp> 6*85e54f1bSJason Ling 7*85e54f1bSJason Ling #include <vector> 8*85e54f1bSJason Ling 9*85e54f1bSJason Ling namespace ipmi_flash 10*85e54f1bSJason Ling { 11*85e54f1bSJason Ling /** 12*85e54f1bSJason Ling * provide the method to parse and validate blob entries from json and produce 13*85e54f1bSJason Ling * something that is usable by the version handler. 14*85e54f1bSJason Ling */ 15*85e54f1bSJason Ling class VersionHandlersBuilder : public HandlersBuilderIfc<VersionActionPack> 16*85e54f1bSJason Ling { 17*85e54f1bSJason Ling public: 18*85e54f1bSJason Ling std::vector<HandlerConfig<VersionActionPack>> 19*85e54f1bSJason Ling buildHandlerFromJson(const nlohmann::json& data) override; 20*85e54f1bSJason Ling }; 21*85e54f1bSJason Ling } // namespace ipmi_flash 22