shared/bus-unit-util: add helper for Listen property

This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2025-07-03 19:53:38 +02:00
parent 65ebd48e6f
commit d661a540a3
+17 -12
View File
@@ -2169,6 +2169,21 @@ static int bus_append_exit_status(sd_bus_message *m, const char *field, const ch
return 1;
}
static int bus_append_listen(sd_bus_message *m, const char *field, const char *eq) {
int r;
const char *p = ASSERT_PTR(startswith(field, "Listen"));
if (isempty(eq))
r = sd_bus_message_append(m, "(sv)", "Listen", "a(ss)", 0);
else
r = sd_bus_message_append(m, "(sv)", "Listen", "a(ss)", 1, p, eq);
if (r < 0)
return bus_log_create_error(r);
return 1;
}
static int bus_append_cgroup_property(sd_bus_message *m, const char *field, const char *eq) {
if (STR_IN_SET(field, "DevicePolicy",
"Slice",
@@ -2698,8 +2713,6 @@ static int bus_append_service_property(sd_bus_message *m, const char *field, con
}
static int bus_append_socket_property(sd_bus_message *m, const char *field, const char *eq) {
int r;
if (STR_IN_SET(field, "Accept",
"FlushPending",
"Writable",
@@ -2789,16 +2802,8 @@ static int bus_append_socket_property(sd_bus_message *m, const char *field, cons
"ListenSpecial",
"ListenMessageQueue",
"ListenFIFO",
"ListenUSBFunction")) {
if (isempty(eq))
r = sd_bus_message_append(m, "(sv)", "Listen", "a(ss)", 0);
else
r = sd_bus_message_append(m, "(sv)", "Listen", "a(ss)", 1, field + STRLEN("Listen"), eq);
if (r < 0)
return bus_log_create_error(r);
return 1;
}
"ListenUSBFunction"))
return bus_append_listen(m, field, eq);
return 0;
}