1 #pragma once
2 #include <string>
3 #include <tuple>
4 #include <vector>
5 
6 namespace phosphor
7 {
8 namespace fan
9 {
10 namespace control
11 {
12 
13 //Placeholder. Conditions are completely TBD.
14 using Condition = bool;
15 
16 constexpr auto fanNamePos = 0;
17 constexpr auto sensorListPos = 1;
18 using FanDefinition = std::tuple<std::string, std::vector<std::string>>;
19 
20 constexpr auto zoneNumPos = 0;
21 constexpr auto fullSpeedPos = 1;
22 constexpr auto fanListPos = 2;
23 using ZoneDefinition = std::tuple<size_t,
24                                   unsigned int,
25                                   std::vector<FanDefinition>>;
26 
27 constexpr auto conditionListPos = 0;
28 constexpr auto zoneListPos = 1;
29 using ZoneGroup = std::tuple<std::vector<Condition>,
30                              std::vector<ZoneDefinition>>;
31 
32 }
33 }
34 }
35