***/
#include "sd-bus.h"
-#include "set.h"
#include "bus-util.h"
#include "bus-internal.h"
#include "bus-track.h"
assert_return(track, -EINVAL);
assert_return(service_name_is_valid(name), -EINVAL);
- r = hashmap_ensure_allocated(&track->names, string_hash_func, string_compare_func);
+ r = hashmap_ensure_allocated(&track->names, &string_hash_ops);
if (r < 0)
return r;
/* Second, check if it is currently existing, or maybe
* doesn't, or maybe disappeared already. */
- r = sd_bus_get_owner(track->bus, n, 0, NULL);
+ r = sd_bus_get_name_creds(track->bus, n, 0, NULL);
if (r < 0) {
hashmap_remove(track->names, n);
return r;
return NULL;
track->modified = false;
- track->iterator = NULL;
+ track->iterator = ITERATOR_FIRST;
hashmap_iterate(track->names, &track->iterator, (const void**) &n);
return n;
r = track->handler(track, track->userdata);
if (r < 0)
- log_debug("Failed to process track handler: %s", strerror(-r));
+ log_debug_errno(r, "Failed to process track handler: %m");
else if (r == 0)
bus_track_add_to_queue(track);