diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-02-17 15:33:13 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-02-23 15:09:13 +0900 |
commit | faac56d5d2bd078ddff81cd999874477e8e373ce (patch) | |
tree | e9d26833dc89dc1104e1bebb3bf69a529928634e /src/core/dbus-util.c | |
parent | ec1b4be82e8ec10cc5b092a74b80627f7624c257 (diff) | |
download | systemd-faac56d5d2bd078ddff81cd999874477e8e373ce.tar.gz |
core/dbus-util: introduce bus_set_transient_tristate()
This will be used in later commits.
Diffstat (limited to 'src/core/dbus-util.c')
-rw-r--r-- | src/core/dbus-util.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c index edfa0eb69a..461f6aafb2 100644 --- a/src/core/dbus-util.c +++ b/src/core/dbus-util.c @@ -93,6 +93,30 @@ int bus_set_transient_bool( return 1; } +int bus_set_transient_tristate( + Unit *u, + const char *name, + int *p, + sd_bus_message *message, + UnitWriteFlags flags, + sd_bus_error *error) { + + int v, r; + + assert(p); + + r = sd_bus_message_read(message, "b", &v); + if (r < 0) + return r; + + if (!UNIT_WRITE_FLAGS_NOOP(flags)) { + *p = v; + unit_write_settingf(u, flags, name, "%s=%s", name, yes_no(v)); + } + + return 1; +} + int bus_set_transient_usec_internal( Unit *u, const char *name, |