#pragma once #include #include namespace phosphor { namespace power { namespace history { template using ServerObject = typename sdbusplus::server::object::object; using MaximumInterface = sdbusplus::org::open_power::Sensor::Aggregation::History::server::Maximum; /** * @class Maximum * * Implements Sensor.Aggregation.History.Maximum * * This includes a property that is an array of timestamp/maximum tuples * and a property to specify the scale. */ class Maximum : public ServerObject { public: static constexpr auto name = "maximum"; Maximum() = delete; Maximum(const Maximum&) = delete; Maximum& operator=(const Maximum&) = delete; Maximum(Maximum&&) = delete; Maximum& operator=(Maximum&&) = delete; ~Maximum() = default; /** * @brief Constructor * * @param[in] bus - D-Bus object * @param[in] objectPath - the D-Bus object path */ Maximum(sdbusplus::bus::bus& bus, const std::string& objectPath) : ServerObject(bus, objectPath.c_str()) { unit(Maximum::Unit::Watts); scale(0); } }; } // namespace history } // namespace power } // namespace phosphor