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