18e068d9dSBrad Bishop #pragma once 28e068d9dSBrad Bishop 38e068d9dSBrad Bishop #include <sdbusplus/server.hpp> 4*47fb49acSLakshmi Yadlapati #include <xyz/openbmc_project/Common/Priority/server.hpp> 5043d3230SPatrick Venture #include <xyz/openbmc_project/Control/FanPwm/server.hpp> 6043d3230SPatrick Venture #include <xyz/openbmc_project/Control/FanSpeed/server.hpp> 7c9d61613SGeorge Liu #include <xyz/openbmc_project/Sensor/Accuracy/server.hpp> 8043d3230SPatrick Venture #include <xyz/openbmc_project/Sensor/Threshold/Critical/server.hpp> 9043d3230SPatrick Venture #include <xyz/openbmc_project/Sensor/Threshold/Warning/server.hpp> 10043d3230SPatrick Venture #include <xyz/openbmc_project/Sensor/Value/server.hpp> 11043d3230SPatrick Venture #include <xyz/openbmc_project/State/Decorator/OperationalStatus/server.hpp> 128e068d9dSBrad Bishop 13d9f06ab5SBrad Bishop template <typename... T> 14ad6043f6SPatrick Williams using ServerObject = typename sdbusplus::server::object_t<T...>; 158e068d9dSBrad Bishop 168e068d9dSBrad Bishop using ValueInterface = sdbusplus::xyz::openbmc_project::Sensor::server::Value; 178e068d9dSBrad Bishop using ValueObject = ServerObject<ValueInterface>; 18cad57db5SBrad Bishop using WarningInterface = 19cad57db5SBrad Bishop sdbusplus::xyz::openbmc_project::Sensor::Threshold::server::Warning; 20cad57db5SBrad Bishop using WarningObject = ServerObject<WarningInterface>; 21cad57db5SBrad Bishop using CriticalInterface = 22cad57db5SBrad Bishop sdbusplus::xyz::openbmc_project::Sensor::Threshold::server::Critical; 23cad57db5SBrad Bishop using CriticalObject = ServerObject<CriticalInterface>; 24bf7b7b1dSMatthew Barth using FanSpeedInterface = 25bf7b7b1dSMatthew Barth sdbusplus::xyz::openbmc_project::Control::server::FanSpeed; 26bf7b7b1dSMatthew Barth using FanSpeedObject = ServerObject<FanSpeedInterface>; 279331ab78SPatrick Venture using FanPwmInterface = 289331ab78SPatrick Venture sdbusplus::xyz::openbmc_project::Control::server::FanPwm; 299331ab78SPatrick Venture using FanPwmObject = ServerObject<FanPwmInterface>; 30043d3230SPatrick Venture using StatusInterface = sdbusplus::xyz::openbmc_project::State::Decorator:: 31043d3230SPatrick Venture server::OperationalStatus; 3235819381SMatthew Barth using StatusObject = ServerObject<StatusInterface>; 33*47fb49acSLakshmi Yadlapati using PriorityInterface = 34*47fb49acSLakshmi Yadlapati sdbusplus::xyz::openbmc_project::Common::server::Priority; 35*47fb49acSLakshmi Yadlapati using PriorityObject = ServerObject<PriorityInterface>; 368e068d9dSBrad Bishop 37e32ce16bSMatt Spinler using SensorValueType = double; 38ee73f5bdSJames Feist 39c9d61613SGeorge Liu using AccuracyInterface = 40c9d61613SGeorge Liu sdbusplus::xyz::openbmc_project::Sensor::server::Accuracy; 41c9d61613SGeorge Liu using AccuracyObject = ServerObject<AccuracyInterface>; 42c9d61613SGeorge Liu 43075f7a2dSBrad Bishop enum class InterfaceType 44075f7a2dSBrad Bishop { 45075f7a2dSBrad Bishop VALUE, 46cad57db5SBrad Bishop WARN, 47cad57db5SBrad Bishop CRIT, 48bf7b7b1dSMatthew Barth FAN_SPEED, 499331ab78SPatrick Venture FAN_PWM, 5035819381SMatthew Barth STATUS, 51c9d61613SGeorge Liu ACCURACY, 52*47fb49acSLakshmi Yadlapati PRIORITY, 53075f7a2dSBrad Bishop }; 54