On Thu, 19.03.15 14:39, David Herrmann (dh.herrm...@gmail.com) wrote: > Hmm, so this is a convenience call. You could just set tm.tm_zone > locally and use mktime() with the value retrieved by "Timezone"? Yeah, > the time-api is awful with global variables, but that's not really our > fault, is it?
This would not work, as struct tm's .tm_zone field is not sufficient to indicate a timezone. The code would have to set $TZ and call tzset(). Given the simplicity of this I'd probably just merge Stef's patch... It *is* kinda nice given that the timezone database is constantly updated and having this exposed on the bus so that it is accessible remotely has the benefit that you get the actual timezone information in effect on the remote system, and not a possible out-of-date timezone from the local database. If you follow what I mean... > > I'm not really against this bus-call, but I also don't see the point. > There's much more information in a timezone file than the offset, so > why expose the offset but not the other data? > > Thanks > David > > > static int property_get_ntp_sync( > > sd_bus *bus, > > const char *path, > > @@ -440,7 +456,8 @@ static int method_set_timezone(sd_bus *bus, > > sd_bus_message *m, void *userdata, s > > LOG_MESSAGE("Changed time zone to '%s'.", c->zone), > > NULL); > > > > - sd_bus_emit_properties_changed(bus, "/org/freedesktop/timedate1", > > "org.freedesktop.timedate1", "Timezone", NULL); > > + sd_bus_emit_properties_changed(bus, "/org/freedesktop/timedate1", > > "org.freedesktop.timedate1", > > + "Timezone", "LocalOffset", NULL); > > > > return sd_bus_reply_method_return(m, NULL); > > } > > @@ -666,6 +683,7 @@ static int method_set_ntp(sd_bus *bus, sd_bus_message > > *m, void *userdata, sd_bus > > static const sd_bus_vtable timedate_vtable[] = { > > SD_BUS_VTABLE_START(0), > > SD_BUS_PROPERTY("Timezone", "s", NULL, offsetof(Context, zone), > > SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), > > + SD_BUS_PROPERTY("LocalOffset", "t", property_get_local_offset, 0, > > SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), > > SD_BUS_PROPERTY("LocalRTC", "b", bus_property_get_bool, > > offsetof(Context, local_rtc), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), > > SD_BUS_PROPERTY("CanNTP", "b", bus_property_get_bool, > > offsetof(Context, can_ntp), 0), > > SD_BUS_PROPERTY("NTP", "b", bus_property_get_bool, > > offsetof(Context, use_ntp), SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE), > > -- > > 2.3.3 > > > > _______________________________________________ > > systemd-devel mailing list > > systemd-devel@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/systemd-devel > _______________________________________________ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/systemd-devel Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel