196232827SLei YU #pragma once 296232827SLei YU 396232827SLei YU #include "epoch_base.hpp" 496232827SLei YU 596232827SLei YU namespace phosphor 696232827SLei YU { 796232827SLei YU namespace time 896232827SLei YU { 996232827SLei YU 1096232827SLei YU /** @class BmcEpoch 1196232827SLei YU * @brief OpenBMC BMC EpochTime implementation. 1296232827SLei YU * @details A concrete implementation for xyz.openbmc_project.Time.EpochTime 1396232827SLei YU * DBus API for BMC's epoch time. 1496232827SLei YU */ 1596232827SLei YU class BmcEpoch : public EpochBase 1696232827SLei YU { 1796232827SLei YU public: 1896232827SLei YU friend class TestBmcEpoch; 1996232827SLei YU BmcEpoch(sdbusplus::bus::bus& bus, 2096232827SLei YU const char* objPath); 2196232827SLei YU 2296232827SLei YU /** 2396232827SLei YU * @brief Get value of Elapsed property 2496232827SLei YU * 2596232827SLei YU * @return The elapsed microseconds since UTC 2696232827SLei YU **/ 2796232827SLei YU uint64_t elapsed() const override; 2896232827SLei YU 2996232827SLei YU /** 3096232827SLei YU * @brief Set value of Elapsed property 3196232827SLei YU * 3296232827SLei YU * @param[in] value - The microseconds since UTC to set 3396232827SLei YU * @return The updated elapsed microseconds since UTC 3496232827SLei YU **/ 3596232827SLei YU uint64_t elapsed(uint64_t value) override; 3696232827SLei YU }; 3796232827SLei YU 38*af5abc57SLei YU } // namespace time 39*af5abc57SLei YU } // namespace phosphor 40