This commit is contained in:
@ -125,12 +125,16 @@ static void slack_get_property(Glib::VariantBase& result, const Glib::RefPtr<Gio
|
||||
{
|
||||
result = Glib::Variant<bool>::create(dlackware::timedate::ntp_synchronized());
|
||||
}
|
||||
else if (prop_name == "TimeUSecRTC")
|
||||
{
|
||||
result = Glib::Variant<std::uint64_t>::create(dlackware::timedate::time_usec_rtc());
|
||||
}
|
||||
}
|
||||
|
||||
namespace dlackware::timedate
|
||||
{
|
||||
constexpr const std::int32_t usec_per_sec = 1000000ULL;
|
||||
constexpr const std::int32_t nsec_per_usec = 1000ULL;
|
||||
constexpr const std::uint64_t usec_per_sec = 1000000ULL;
|
||||
constexpr const std::uint64_t nsec_per_usec = 1000ULL;
|
||||
|
||||
timedate1::timedate1()
|
||||
: interface_vtable{ &slack_method_call, &slack_get_property }
|
||||
@ -247,7 +251,7 @@ namespace dlackware::timedate
|
||||
}
|
||||
}
|
||||
|
||||
void set_time(gint64 seconds_since_epoch, bool relative, bool)
|
||||
void set_time(std::int64_t seconds_since_epoch, bool relative, bool)
|
||||
{
|
||||
timespec ts;
|
||||
|
||||
@ -333,4 +337,10 @@ namespace dlackware::timedate
|
||||
}
|
||||
return ntp_result != TIME_ERROR && (buffer.status & STA_UNSYNC) == 0;
|
||||
}
|
||||
|
||||
std::uint64_t time_usec_rtc()
|
||||
{
|
||||
return std::chrono::duration_cast<std::chrono::microseconds>(
|
||||
std::chrono::system_clock::now().time_since_epoch()).count();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user