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