#pragma once #include #include #include #include #include #include "trust_group.hpp" namespace phosphor { namespace fan { namespace monitor { constexpr auto propObj = 0; constexpr auto propIface = 1; constexpr auto propName = 2; using PropertyIdentity = std::tuple; using PropertyValue = sdbusplus::message::variant; constexpr auto propIdentity = 0; constexpr auto propValue = 1; using PropertyState = std::pair; using Condition = std::function; using CreateGroupFunction = std::function()>; constexpr auto sensorNameField = 0; constexpr auto hasTargetField = 1; constexpr auto targetInterfaceField = 2; constexpr auto factorField = 3; constexpr auto offsetField = 4; using SensorDefinition = std::tuple; constexpr auto fanNameField = 0; constexpr auto funcDelay = 1; constexpr auto timeoutField = 2; constexpr auto fanDeviationField = 3; constexpr auto numSensorFailsForNonfuncField = 4; constexpr auto sensorListField = 5; constexpr auto conditionField = 6; using FanDefinition = std::tuple, std::experimental::optional>; } } }