185e54f1bSJason Ling #pragma once 285e54f1bSJason Ling #include "buildjson.hpp" 385e54f1bSJason Ling #include "version_handler.hpp" 485e54f1bSJason Ling 585e54f1bSJason Ling #include <nlohmann/json.hpp> 685e54f1bSJason Ling 785e54f1bSJason Ling #include <vector> 885e54f1bSJason Ling 985e54f1bSJason Ling namespace ipmi_flash 1085e54f1bSJason Ling { 1185e54f1bSJason Ling /** 1285e54f1bSJason Ling * provide the method to parse and validate blob entries from json and produce 1385e54f1bSJason Ling * something that is usable by the version handler. 1485e54f1bSJason Ling */ 15*abf17354SWilliam A. Kennington III class VersionHandlersBuilder : 16*abf17354SWilliam A. Kennington III public HandlersBuilderIfc<VersionBlobHandler::ActionPack> 1785e54f1bSJason Ling { 1885e54f1bSJason Ling public: 19*abf17354SWilliam A. Kennington III std::vector<HandlerConfig<VersionBlobHandler::ActionPack>> 2085e54f1bSJason Ling buildHandlerFromJson(const nlohmann::json& data) override; 2185e54f1bSJason Ling }; 2285e54f1bSJason Ling } // namespace ipmi_flash 23