Lines Matching +full:phosphor +full:- +full:fan +full:- +full:presence
4 #include "fan.hpp"
17 namespace phosphor namespace
19 namespace fan namespace
21 namespace presence namespace
28 constexpr auto confAppName = "presence";
34 using fanPolicy = std::tuple<Fan, std::vector<std::unique_ptr<PresenceSensor>>>;
36 // Presence method handler function
39 // Presence redundancy policy handler function
56 * @param[in] bus - sdbusplus bus object
61 * @brief Get the json config based fan presence policies
63 * @return - The fan presence policies
71 * @param[in] sigSrc - sd_event_source signal wrapper
72 * @param[in] sigInfo - signal info on signal fd
78 * @brief Parses and populates the fan presence policies from
79 * the json file and then starts the actual presence
85 /* Fan presence policies */
91 /* List of Fan objects to have presence policies */
94 /* Presence methods mapping to their associated handler function */
98 * Presence redundancy policy mapping to their associated handler
114 * @brief Process the json config to extract the defined fan presence
117 * @param[in] jsonConf - parsed json configuration data
122 * @brief Get the redundancy policy of presence detection for a fan
124 * @param[in] rpolicy - policy type to construct
125 * @param[in] fpolicy - fan policy object
126 * @param[in] eepromDevice - EEPROM device object
128 * @return - The constructed redundancy policy type for the fan
136 * Methods of fan presence detection function declarations
141 * @brief Fan presence detection method by tach feedback
143 * @param[in] fanIndex - fan object index to add tach method
144 * @param[in] method - json properties for a tach method
146 * @return - A presence sensor to detect fan presence by tach feedback
151 * @brief Fan presence detection method by gpio
153 * @param[in] fanIndex - fan object index to add gpio method
154 * @param[in] method - json properties for a gpio method
156 * @return - A presence sensor to detect fan presence by gpio
163 * Redundancy policies for fan presence detection function declarations
168 * @brief Create an `Anyof` redundancy policy on the created presence
169 * sensors for a fan
171 * @param[in] fan - fan policy object with the presence sensors for the fan
172 * @param[in] eepromDevice - EEPROM device object
174 * @return - An `Anyof` redundancy policy
177 const fanPolicy& fan, std::unique_ptr<EEPROMDevice> eepromDevice);
180 * @brief Create a `Fallback` redundancy policy on the created presence
181 * sensors for a fan
183 * @param[in] fan - fan policy object with the presence sensors for the fan
184 * @param[in] eepromDevice - EEPROM device object
186 * @return - A `Fallback` redundancy policy
189 const fanPolicy& fan, std::unique_ptr<EEPROMDevice> eepromDevice);
193 } // namespace presence
194 } // namespace fan
195 } // namespace phosphor