blob: 8c841a742f46f1f9808d0a0ab7a8838b3e08af39 [file] [log] [blame]
#pragma once
#include "epoch_base.hpp"
namespace phosphor
{
namespace time
{
/** @class BmcEpoch
* @brief OpenBMC BMC EpochTime implementation.
* @details A concrete implementation for xyz.openbmc_project.Time.EpochTime
* DBus API for BMC's epoch time.
*/
class BmcEpoch : public EpochBase
{
public:
friend class TestBmcEpoch;
BmcEpoch(sdbusplus::bus::bus& bus,
const char* objPath);
/**
* @brief Get value of Elapsed property
*
* @return The elapsed microseconds since UTC
**/
uint64_t elapsed() const override;
/**
* @brief Set value of Elapsed property
*
* @param[in] value - The microseconds since UTC to set
* @return The updated elapsed microseconds since UTC
**/
uint64_t elapsed(uint64_t value) override;
};
} // namespace time
} // namespace phosphor