timedatectl: add 'show' command to display machine-readable output

Closes #9249.
This commit is contained in:
Yu Watanabe
2018-06-14 10:19:08 +02:00
committed by Lennart Poettering
parent 28e1a3ec44
commit ead0adb161
3 changed files with 44 additions and 11 deletions
+2 -1
View File
@@ -696,7 +696,8 @@ int bus_print_property(const char *name, sd_bus_message *m, bool value, bool all
/* Yes, heuristics! But we can change this check
* should it turn out to not be sufficient */
if (endswith(name, "Timestamp") || STR_IN_SET(name, "NextElapseUSecRealtime", "LastTriggerUSec")) {
if (endswith(name, "Timestamp") ||
STR_IN_SET(name, "NextElapseUSecRealtime", "LastTriggerUSec", "TimeUSec", "RTCTimeUSec")) {
char timestamp[FORMAT_TIMESTAMP_MAX];
const char *t;
+22
View File
@@ -168,6 +168,26 @@ static int show_status(int argc, char **argv, void *userdata) {
return r;
}
static int show_properties(int argc, char **argv, void *userdata) {
sd_bus *bus = userdata;
int r;
assert(bus);
r = bus_print_all_properties(bus,
"org.freedesktop.timedate1",
"/org/freedesktop/timedate1",
NULL,
arg_property,
arg_value,
arg_all,
NULL);
if (r < 0)
return bus_log_parse_error(r);
return 0;
}
static int set_time(int argc, char **argv, void *userdata) {
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
bool relative = false, interactive = arg_ask_password;
@@ -696,6 +716,7 @@ static int help(void) {
"\n"
"Commands:\n"
" status Show current time settings\n"
" show Show properties of systemd-timedated\n"
" set-time TIME Set system time\n"
" set-timezone ZONE Set system time zone\n"
" list-timezones Show known time zones\n"
@@ -815,6 +836,7 @@ static int timedatectl_main(sd_bus *bus, int argc, char *argv[]) {
static const Verb verbs[] = {
{ "status", VERB_ANY, 1, VERB_DEFAULT, show_status },
{ "show", VERB_ANY, 1, 0, show_properties },
{ "set-time", 2, 2, 0, set_time },
{ "set-timezone", 2, 2, 0, set_timezone },
{ "list-timezones", VERB_ANY, 1, 0, list_timezones },