xref: /openbmc/phosphor-hwmon/interface.hpp (revision c9d61613)
1 #pragma once
2 
3 #include <sdbusplus/server.hpp>
4 #include <xyz/openbmc_project/Control/FanPwm/server.hpp>
5 #include <xyz/openbmc_project/Control/FanSpeed/server.hpp>
6 #include <xyz/openbmc_project/Sensor/Accuracy/server.hpp>
7 #include <xyz/openbmc_project/Sensor/Threshold/Critical/server.hpp>
8 #include <xyz/openbmc_project/Sensor/Threshold/Warning/server.hpp>
9 #include <xyz/openbmc_project/Sensor/Value/server.hpp>
10 #include <xyz/openbmc_project/State/Decorator/OperationalStatus/server.hpp>
11 
12 template <typename... T>
13 using ServerObject = typename sdbusplus::server::object_t<T...>;
14 
15 using ValueInterface = sdbusplus::xyz::openbmc_project::Sensor::server::Value;
16 using ValueObject = ServerObject<ValueInterface>;
17 using WarningInterface =
18     sdbusplus::xyz::openbmc_project::Sensor::Threshold::server::Warning;
19 using WarningObject = ServerObject<WarningInterface>;
20 using CriticalInterface =
21     sdbusplus::xyz::openbmc_project::Sensor::Threshold::server::Critical;
22 using CriticalObject = ServerObject<CriticalInterface>;
23 using FanSpeedInterface =
24     sdbusplus::xyz::openbmc_project::Control::server::FanSpeed;
25 using FanSpeedObject = ServerObject<FanSpeedInterface>;
26 using FanPwmInterface =
27     sdbusplus::xyz::openbmc_project::Control::server::FanPwm;
28 using FanPwmObject = ServerObject<FanPwmInterface>;
29 using StatusInterface = sdbusplus::xyz::openbmc_project::State::Decorator::
30     server::OperationalStatus;
31 using StatusObject = ServerObject<StatusInterface>;
32 
33 using SensorValueType = double;
34 
35 using AccuracyInterface =
36     sdbusplus::xyz::openbmc_project::Sensor::server::Accuracy;
37 using AccuracyObject = ServerObject<AccuracyInterface>;
38 
39 enum class InterfaceType
40 {
41     VALUE,
42     WARN,
43     CRIT,
44     FAN_SPEED,
45     FAN_PWM,
46     STATUS,
47     ACCURACY,
48 };
49 
50 // vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
51