Add inventory update support
Set a fan's Functional property to false when
it has been out of spec for too long. When it
is back in spec, set it back to functional.
Change-Id: I264129479c58fd296df7c3a1d3d42f5d7aa7b60b
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/monitor/fan.hpp b/monitor/fan.hpp
index 9aeccd2..910b4eb 100644
--- a/monitor/fan.hpp
+++ b/monitor/fan.hpp
@@ -45,6 +45,15 @@
*/
class Fan
{
+ using Property = std::string;
+ using Value = sdbusplus::message::variant<bool>;
+ using PropertyMap = std::map<Property, Value>;
+
+ using Interface = std::string;
+ using InterfaceMap = std::map<Interface, PropertyMap>;
+
+ using Object = sdbusplus::message::object_path;
+ using ObjectMap = std::map<Object, InterfaceMap>;
public:
@@ -117,6 +126,22 @@
*/
bool tooManySensorsNonfunctional();
+ /**
+ * @brief Updates the Functional property in the inventory
+ * for the fan based on the value passed in.
+ *
+ * @param[in] functional - If the Functional property should
+ * be set to true or false.
+ */
+ void updateInventory(bool functional);
+
+ /**
+ * @brief Returns the object map to use when updating the inventory
+ *
+ * @param[in] functional - If the Functional property should
+ * be set to true or false.
+ */
+ ObjectMap getObjectMap(bool functional);
/**
* @brief the dbus object