shared/bus-map-properties: move bus_map_job_id() from wait-for-units

This commit is contained in:
Mike Yuan
2024-09-26 17:29:30 +02:00
parent 5acca1b885
commit cdf684fc00
3 changed files with 14 additions and 15 deletions

View File

@@ -10,6 +10,8 @@ int bus_map_id128(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_err
sd_id128_t *p = userdata;
int r;
assert(m);
r = bus_message_read_id128(m, p);
if (r < 0)
return bus_log_parse_error_debug(r);
@@ -21,6 +23,8 @@ int bus_map_strv_sort(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus
char ***p = ASSERT_PTR(userdata);
int r;
assert(m);
r = sd_bus_message_read_strv_extend(m, p);
if (r < 0)
return bus_log_parse_error_debug(r);
@@ -29,6 +33,14 @@ int bus_map_strv_sort(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus
return 0;
}
int bus_map_job_id(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_error *error, void *userdata) {
uint32_t *p = ASSERT_PTR(userdata);
assert(m);
return sd_bus_message_read(m, "(uo)", p, /* path = */ NULL);
}
static int map_basic(sd_bus_message *m, unsigned flags, void *userdata) {
char type;
int r;

View File

@@ -19,6 +19,7 @@ enum {
int bus_map_id128(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_error *error, void *userdata);
int bus_map_strv_sort(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_error *error, void *userdata);
int bus_map_job_id(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_error *error, void *userdata);
int bus_message_map_all_properties(sd_bus_message *m, const struct bus_properties_map *map, unsigned flags, sd_bus_error *error, void *userdata);
int bus_map_all_properties(sd_bus *bus, const char *destination, const char *path, const struct bus_properties_map *map,

View File

@@ -202,25 +202,11 @@ static void wait_for_item_check_ready(WaitForItem *item) {
bus_wait_for_units_check_ready(d);
}
static int property_map_job_id(
sd_bus *bus,
const char *member,
sd_bus_message *m,
sd_bus_error *error,
void *userdata) {
uint32_t *job_id = ASSERT_PTR(userdata);
assert(m);
return sd_bus_message_read(m, "(uo)", job_id, /* path = */ NULL);
}
static int wait_for_item_parse_properties(WaitForItem *item, sd_bus_message *m) {
static const struct bus_properties_map map[] = {
{ "ActiveState", "s", NULL, offsetof(WaitForItem, active_state) },
{ "Job", "(uo)", property_map_job_id, offsetof(WaitForItem, job_id) },
{ "Job", "(uo)", bus_map_job_id, offsetof(WaitForItem, job_id) },
{ "CleanResult", "s", NULL, offsetof(WaitForItem, clean_result) },
{ "LiveMountResult", "s", NULL, offsetof(WaitForItem, live_mount_result) },
{}