1 #pragma once
2 
3 #include <string>
4 #include <tuple>
5 
6 namespace phosphor
7 {
8 namespace fan
9 {
10 namespace presence
11 {
12 
13 /** @brief PrettyName and inventory path. */
14 using Fan = std::tuple<std::string, std::string>;
15 
16 /**
17  * @brief Update the presence state.
18  *
19  * Update the Present property of the
20  * xyz.openbmc_project.Inventory.Item interface.
21  *
22  * @param[in] fan - The fan to update.
23  * @param[in] newState - The new state of the fan.
24  */
25 void setPresence(const Fan& fan, bool newState);
26 
27 /**
28  * @brief Read the presence state.
29  *
30  * Read the Present property of the
31  * xyz.openbmc_project.Inventory.Item
32  *
33  * @param[in] fan - The fan to read.
34  */
35 bool getPresence(const Fan& fan);
36 } // namespace presence
37 } // namespace fan
38 } // namespace phosphor
39