xref: /openbmc/phosphor-pid-control/pid/buildjson.hpp (revision d1491724370970457a82db13f262ce84b017a82d)
1*d1491724SPatrick Venture #pragma once
2*d1491724SPatrick Venture 
3*d1491724SPatrick Venture #include "conf.hpp"
4*d1491724SPatrick Venture 
5*d1491724SPatrick Venture #include <map>
6*d1491724SPatrick Venture #include <nlohmann/json.hpp>
7*d1491724SPatrick Venture #include <tuple>
8*d1491724SPatrick Venture 
9*d1491724SPatrick Venture using json = nlohmann::json;
10*d1491724SPatrick Venture 
11*d1491724SPatrick Venture /**
12*d1491724SPatrick Venture  * Given the json "zones" data, create the map of PIDs and the map of zones.
13*d1491724SPatrick Venture  *
14*d1491724SPatrick Venture  * @param[in] data - the json data
15*d1491724SPatrick Venture  * @return the pidConfig, and the zoneConfig
16*d1491724SPatrick Venture  */
17*d1491724SPatrick Venture std::pair<std::map<int64_t, PIDConf>, std::map<int64_t, struct ZoneConfig>>
18*d1491724SPatrick Venture     buildPIDsFromJson(const json& data);
19