-int bus_manager_foreach_client(Manager *m, int (*send_message)(sd_bus *bus, const char *destination, void *userdata), void *userdata) {
- Iterator i;
- sd_bus *b;
- unsigned n;
- int r, ret;
-
- n = set_size(m->subscribed);
- if (n <= 0)
- return 0;
- if (n == 1) {
- BusTrackedClient *d;
-
- assert_se(d = set_first(m->subscribed));
- return send_message(d->bus, isempty(d->name) ? NULL : d->name, userdata);
- }
-
- ret = 0;
-
- /* Send to everybody */
- SET_FOREACH(b, m->private_buses, i) {
- r = send_message(b, NULL, userdata);
- if (r < 0)
- ret = r;
- }
-
- if (m->api_bus) {
- r = send_message(m->api_bus, NULL, userdata);
- if (r < 0)
- ret = r;
- }
-
- return ret;
-}
-
-static int send_finished(sd_bus *bus, const char *destination, void *userdata) {