#include "bmc_epoch.hpp" #include namespace phosphor { namespace time { namespace server = sdbusplus::xyz::openbmc_project::Time::server; using namespace phosphor::logging; BmcEpoch::BmcEpoch(sdbusplus::bus::bus& bus, const char* objPath) : EpochBase(bus, objPath) { // Empty } uint64_t BmcEpoch::elapsed() const { // It does not needs to check owner when getting time return getTime().count(); } uint64_t BmcEpoch::elapsed(uint64_t value) { if (timeMode == Mode::NTP) { log("Setting BmcTime with NTP mode is not allowed"); // TODO: throw NotAllowed exception return 0; } if (timeOwner == Owner::HOST) { log("Setting BmcTime with HOST owner is not allowed"); // TODO: throw NotAllowed exception return 0; } auto time = std::chrono::microseconds(value); setTime(time); server::EpochTime::elapsed(value); return value; } } // namespace time } // namespace phosphor