xref: /openbmc/phosphor-pid-control/pid/builder.hpp (revision b228bc30ff4ecd8cbb5aef68bdbdecbe83d07176)
15c7cc545SPatrick Venture #pragma once
25c7cc545SPatrick Venture 
37a98c19aSPatrick Venture #include "conf.hpp"
47a98c19aSPatrick Venture #include "pid/zone_interface.hpp"
5da4a5dd1SPatrick Venture #include "sensors/manager.hpp"
6da4a5dd1SPatrick Venture 
75c7cc545SPatrick Venture #include <sdbusplus/bus.hpp>
8a83a3eccSPatrick Venture 
9a83a3eccSPatrick Venture #include <memory>
105c7cc545SPatrick Venture #include <unordered_map>
115c7cc545SPatrick Venture 
12a076487aSPatrick Venture namespace pid_control
13a076487aSPatrick Venture {
14a076487aSPatrick Venture 
155301aae3SJohnathan Mantey std::unordered_map<int64_t, std::shared_ptr<ZoneInterface>>
167e3f8abeSPatrick Venture     buildZones(const std::map<int64_t, conf::PIDConf>& zonePids,
171df9e879SPatrick Venture                std::map<int64_t, conf::ZoneConfig>& zoneConfigs,
18*b228bc30SPatrick Williams                SensorManager& mgr, sdbusplus::bus_t& modeControlBus);
19a076487aSPatrick Venture 
20a076487aSPatrick Venture }
21