chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
resolved: add bus API for configuring per-link DNS settings
[elogind.git]
/
src
/
libelogind
/
sd-bus
/
bus-track.c
diff --git
a/src/libelogind/sd-bus/bus-track.c
b/src/libelogind/sd-bus/bus-track.c
index 048178550b5fb5a50cff72ae16842cea31bd6929..5cd3af3b35391312ad6e4356542ceeb99287f6b4 100644
(file)
--- 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 "sd-bus.h"
-#include "bus-util.h"
+
+#include "alloc-util.h"
#include "bus-internal.h"
#include "bus-track.h"
#include "bus-internal.h"
#include "bus-track.h"
+#include "bus-util.h"
+
struct sd_bus_track {
unsigned n_ref;
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);
assert_return(bus, -EINVAL);
assert_return(track, -EINVAL);
+ if (!bus->bus_client)
+ return -EINVAL;
+
t = new0(sd_bus_track, 1);
if (!t)
return -ENOMEM;
t = new0(sd_bus_track, 1);
if (!t)
return -ENOMEM;
@@
-106,7
+112,9
@@
_public_ int sd_bus_track_new(
}
_public_ sd_bus_track* sd_bus_track_ref(sd_bus_track *track) {
}
_public_ sd_bus_track* sd_bus_track_ref(sd_bus_track *track) {
- assert_return(track, NULL);
+
+ if (!track)
+ return NULL;
assert(track->n_ref > 0);
assert(track->n_ref > 0);
@@
-139,12
+147,11
@@
_public_ sd_bus_track* sd_bus_track_unref(sd_bus_track *track) {
return NULL;
}
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;
sd_bus_track *track = userdata;
const char *name, *old, *new;
int r;
- assert(bus);
assert(message);
assert(track);
assert(message);
assert(track);
@@
-157,7
+164,7
@@
static int on_name_owner_changed(sd_bus *bus, sd_bus_message *message, void *use
}
_public_ int sd_bus_track_add_name(sd_bus_track *track, const char *name) {
}
_public_ int sd_bus_track_add_name(sd_bus_track *track, const char *name) {
- _cleanup_
bus_slot_unref_
sd_bus_slot *slot = NULL;
+ _cleanup_
(sd_bus_slot_unrefp)
sd_bus_slot *slot = NULL;
_cleanup_free_ char *n = NULL;
const char *match;
int r;
_cleanup_free_ char *n = NULL;
const char *match;
int r;
@@
-203,7
+210,7
@@
_public_ int sd_bus_track_add_name(sd_bus_track *track, const char *name) {
}
_public_ int sd_bus_track_remove_name(sd_bus_track *track, const char *name) {
}
_public_ int sd_bus_track_remove_name(sd_bus_track *track, const char *name) {
- _cleanup_
bus_slot_unref_
sd_bus_slot *slot = NULL;
+ _cleanup_
(sd_bus_slot_unrefp)
sd_bus_slot *slot = NULL;
_cleanup_free_ char *n = NULL;
assert_return(name, -EINVAL);
_cleanup_free_ char *n = NULL;
assert_return(name, -EINVAL);
@@
-246,7
+253,7
@@
_public_ const char* sd_bus_track_first(sd_bus_track *track) {
track->modified = false;
track->iterator = ITERATOR_FIRST;
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;
}
return n;
}
@@
-259,7
+266,7
@@
_public_ const char* sd_bus_track_next(sd_bus_track *track) {
if (track->modified)
return NULL;
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;
}
return n;
}
@@
-315,6
+322,7
@@
void bus_track_dispatch(sd_bus_track *track) {
sd_bus_track_unref(track);
}
sd_bus_track_unref(track);
}
+#if 0 /// UNNEEDED by elogind
_public_ void *sd_bus_track_get_userdata(sd_bus_track *track) {
assert_return(track, NULL);
_public_ void *sd_bus_track_get_userdata(sd_bus_track *track) {
assert_return(track, NULL);
@@
-331,3
+339,4
@@
_public_ void *sd_bus_track_set_userdata(sd_bus_track *track, void *userdata) {
return ret;
}
return ret;
}
+#endif // 0