blob: 8c841a742f46f1f9808d0a0ab7a8838b3e08af39 [file] [log] [blame]
Lei YU96232822017-01-20 14:05:46 +08001#pragma once
2
3#include "epoch_base.hpp"
4
5namespace phosphor
6{
7namespace time
8{
9
10/** @class BmcEpoch
11 * @brief OpenBMC BMC EpochTime implementation.
12 * @details A concrete implementation for xyz.openbmc_project.Time.EpochTime
13 * DBus API for BMC's epoch time.
14 */
15class BmcEpoch : public EpochBase
16{
17 public:
18 friend class TestBmcEpoch;
19 BmcEpoch(sdbusplus::bus::bus& bus,
20 const char* objPath);
21
22 /**
23 * @brief Get value of Elapsed property
24 *
25 * @return The elapsed microseconds since UTC
26 **/
27 uint64_t elapsed() const override;
28
29 /**
30 * @brief Set value of Elapsed property
31 *
32 * @param[in] value - The microseconds since UTC to set
33 * @return The updated elapsed microseconds since UTC
34 **/
35 uint64_t elapsed(uint64_t value) override;
36};
37
Lei YUaf5abc52017-03-07 17:49:17 +080038} // namespace time
39} // namespace phosphor