X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibelogind%2Fsd-bus%2Fbus-track.c;h=f8b7cfada004fbc1b6ff5ee1e59fa03cf4a5f6a3;hb=94c5f7fa9e34517edad75cd63d71dd459ec4f133;hp=048178550b5fb5a50cff72ae16842cea31bd6929;hpb=f48dd74a8d39b6074f820f904953f5cece03b9b0;p=elogind.git diff --git a/src/libelogind/sd-bus/bus-track.c b/src/libelogind/sd-bus/bus-track.c index 048178550..f8b7cfada 100644 --- a/src/libelogind/sd-bus/bus-track.c +++ b/src/libelogind/sd-bus/bus-track.c @@ -20,9 +20,12 @@ ***/ #include "sd-bus.h" -#include "bus-util.h" + +#include "alloc-util.h" #include "bus-internal.h" #include "bus-track.h" +#include "bus-util.h" + struct sd_bus_track { unsigned n_ref; @@ -90,6 +93,9 @@ _public_ int sd_bus_track_new( assert_return(bus, -EINVAL); assert_return(track, -EINVAL); + if (!bus->bus_client) + return -EINVAL; + t = new0(sd_bus_track, 1); if (!t) return -ENOMEM; @@ -139,12 +145,11 @@ _public_ sd_bus_track* sd_bus_track_unref(sd_bus_track *track) { return NULL; } -static int on_name_owner_changed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) { +static int on_name_owner_changed(sd_bus_message *message, void *userdata, sd_bus_error *error) { sd_bus_track *track = userdata; const char *name, *old, *new; int r; - assert(bus); assert(message); assert(track); @@ -246,7 +251,7 @@ _public_ const char* sd_bus_track_first(sd_bus_track *track) { track->modified = false; track->iterator = ITERATOR_FIRST; - hashmap_iterate(track->names, &track->iterator, (const void**) &n); + hashmap_iterate(track->names, &track->iterator, NULL, (const void**) &n); return n; } @@ -259,7 +264,7 @@ _public_ const char* sd_bus_track_next(sd_bus_track *track) { if (track->modified) return NULL; - hashmap_iterate(track->names, &track->iterator, (const void**) &n); + hashmap_iterate(track->names, &track->iterator, NULL, (const void**) &n); return n; } @@ -315,6 +320,8 @@ void bus_track_dispatch(sd_bus_track *track) { sd_bus_track_unref(track); } +/// UNNEEDED by elogind +#if 0 _public_ void *sd_bus_track_get_userdata(sd_bus_track *track) { assert_return(track, NULL); @@ -331,3 +338,4 @@ _public_ void *sd_bus_track_set_userdata(sd_bus_track *track, void *userdata) { return ret; } +#endif // 0