17d24ee8eSMatt Spinler #pragma once 27d24ee8eSMatt Spinler #include <org/open_power/Sensor/Aggregation/History/Maximum/server.hpp> 37d24ee8eSMatt Spinler 4d1bc4cecSBrandon Wyman #include <functional> 5d1bc4cecSBrandon Wyman 6ab093328SLei YU namespace phosphor 77d24ee8eSMatt Spinler { 87d24ee8eSMatt Spinler namespace power 97d24ee8eSMatt Spinler { 107d24ee8eSMatt Spinler namespace history 117d24ee8eSMatt Spinler { 127d24ee8eSMatt Spinler 137d24ee8eSMatt Spinler template <typename T> 14*7354ce62SPatrick Williams using ServerObject = typename sdbusplus::server::object_t<T>; 157d24ee8eSMatt Spinler 16f0f02b9aSMatt Spinler using MaximumInterface = 17f0f02b9aSMatt Spinler sdbusplus::org::open_power::Sensor::Aggregation::History::server::Maximum; 187d24ee8eSMatt Spinler 197d24ee8eSMatt Spinler /** 207d24ee8eSMatt Spinler * @class Maximum 217d24ee8eSMatt Spinler * 227d24ee8eSMatt Spinler * Implements Sensor.Aggregation.History.Maximum 237d24ee8eSMatt Spinler * 247d24ee8eSMatt Spinler * This includes a property that is an array of timestamp/maximum tuples 257d24ee8eSMatt Spinler * and a property to specify the scale. 267d24ee8eSMatt Spinler */ 277d24ee8eSMatt Spinler class Maximum : public ServerObject<MaximumInterface> 287d24ee8eSMatt Spinler { 297d24ee8eSMatt Spinler public: 307d24ee8eSMatt Spinler static constexpr auto name = "maximum"; 317d24ee8eSMatt Spinler 327d24ee8eSMatt Spinler Maximum() = delete; 337d24ee8eSMatt Spinler Maximum(const Maximum&) = delete; 347d24ee8eSMatt Spinler Maximum& operator=(const Maximum&) = delete; 357d24ee8eSMatt Spinler Maximum(Maximum&&) = delete; 367d24ee8eSMatt Spinler Maximum& operator=(Maximum&&) = delete; 377d24ee8eSMatt Spinler ~Maximum() = default; 387d24ee8eSMatt Spinler 397d24ee8eSMatt Spinler /** 407d24ee8eSMatt Spinler * @brief Constructor 417d24ee8eSMatt Spinler * 427d24ee8eSMatt Spinler * @param[in] bus - D-Bus object 437d24ee8eSMatt Spinler * @param[in] objectPath - the D-Bus object path 447d24ee8eSMatt Spinler */ Maximum(sdbusplus::bus_t & bus,const std::string & objectPath)45*7354ce62SPatrick Williams Maximum(sdbusplus::bus_t& bus, const std::string& objectPath) : 467d24ee8eSMatt Spinler ServerObject<MaximumInterface>(bus, objectPath.c_str()) 477d24ee8eSMatt Spinler { 487d24ee8eSMatt Spinler unit(Maximum::Unit::Watts); 497d24ee8eSMatt Spinler scale(0); 507d24ee8eSMatt Spinler } 517d24ee8eSMatt Spinler }; 527d24ee8eSMatt Spinler 53f0f02b9aSMatt Spinler } // namespace history 54f0f02b9aSMatt Spinler } // namespace power 55ab093328SLei YU } // namespace phosphor 56