#pragma once #include #include #include #include #include #include #include template using ServerObject = typename sdbusplus::server::object::object; using ValueInterface = sdbusplus::xyz::openbmc_project::Sensor::server::Value; using ValueObject = ServerObject; using WarningInterface = sdbusplus::xyz::openbmc_project::Sensor::Threshold::server::Warning; using WarningObject = ServerObject; using CriticalInterface = sdbusplus::xyz::openbmc_project::Sensor::Threshold::server::Critical; using CriticalObject = ServerObject; using FanSpeedInterface = sdbusplus::xyz::openbmc_project::Control::server::FanSpeed; using FanSpeedObject = ServerObject; using FanPwmInterface = sdbusplus::xyz::openbmc_project::Control::server::FanPwm; using FanPwmObject = ServerObject; using StatusInterface = sdbusplus::xyz::openbmc_project::State::Decorator:: server::OperationalStatus; using StatusObject = ServerObject; // I understand this seems like magic, but since decltype doesn't evaluate you // can call nullptr https://stackoverflow.com/a/5580411/2784885 using SensorValueType = decltype((static_cast(nullptr))->value()); enum class InterfaceType { VALUE, WARN, CRIT, FAN_SPEED, FAN_PWM, STATUS, }; // vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4