#include <algorithm> #include "conditions.hpp" #include "sdbusplus.hpp" namespace phosphor { namespace fan { namespace monitor { namespace condition { Condition propertiesMatch(std::vector<PropertyState>&& propStates) { return [pStates = std::move(propStates)](sdbusplus::bus::bus& bus) { return std::all_of( pStates.begin(), pStates.end(), [&bus](const auto& p) { return util::SDBusPlus::getPropertyVariant<PropertyValue>( bus, std::get<propObj>(p.first), std::get<propIface>(p.first), std::get<propName>(p.first)) == p.second; }); }; } } // namespace condition } // namespace monitor } // namespace fan } // namespace phosphor