chiark / gitweb /
bus: add userdata API for bus name tracker objects
authorLennart Poettering <lennart@poettering.net>
Tue, 6 May 2014 17:15:36 +0000 (19:15 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 14 May 2014 20:58:43 +0000 (22:58 +0200)
src/libsystemd/libsystemd.sym.m4
src/libsystemd/sd-bus/bus-track.c
src/systemd/sd-bus.h

index d18d5767b02767a853676e1bd2765275c8fe3ecc..14d9dcf9e92512c97ba1992e25b85d9515db3c1d 100644 (file)
@@ -331,6 +331,8 @@ m4_ifdef(`ENABLE_KDBUS',
         sd_bus_track_ref;
         sd_bus_track_unref;
         sd_bus_track_get_bus;
+        sd_bus_track_get_userdata;
+        sd_bus_track_set_userdata;
         sd_bus_track_add_sender;
         sd_bus_track_remove_sender;
         sd_bus_track_add_name;
index e21959d01d00f871fc182fd5bb6dceb22e6eee11..0f6a2eafbdf7730d3f0022e37aeb798563a661bf 100644 (file)
@@ -312,3 +312,20 @@ void bus_track_dispatch(sd_bus_track *track) {
 
         sd_bus_track_unref(track);
 }
+
+_public_ void *sd_bus_track_get_userdata(sd_bus_track *track) {
+        assert_return(track, NULL);
+
+        return track->userdata;
+}
+
+_public_ void *sd_bus_track_set_userdata(sd_bus_track *track, void *userdata) {
+        void *ret;
+
+        assert_return(track, NULL);
+
+        ret = track->userdata;
+        track->userdata = userdata;
+
+        return ret;
+}
index ff2333fb4ab3bd485543ea7e5155d0d54facddd0..c6787ca80946a04eac61be0ac8f3525adb92e342 100644 (file)
@@ -358,7 +358,10 @@ int sd_bus_path_decode(const char *path, const char *prefix, char **ret_external
 int sd_bus_track_new(sd_bus *bus, sd_bus_track **track, sd_bus_track_handler_t handler, void *userdata);
 sd_bus_track* sd_bus_track_ref(sd_bus_track *track);
 sd_bus_track* sd_bus_track_unref(sd_bus_track *track);
+
 sd_bus* sd_bus_track_get_bus(sd_bus_track *track);
+void *sd_bus_track_get_userdata(sd_bus_track *track);
+void *sd_bus_track_set_userdata(sd_bus_track *track, void *userdata);
 
 int sd_bus_track_add_sender(sd_bus_track *track, sd_bus_message *m);
 int sd_bus_track_remove_sender(sd_bus_track *track, sd_bus_message *m);