X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-control.c;h=dd404442cf1c95658fa57b8e8776030c92f79842;hb=7286037fd438e93137571fa68a741cc894d8e549;hp=9d242dc41384a117d255c4ef80c401aee33726c2;hpb=e3017af97310da024ffb378ed155bc1676922ce7;p=elogind.git diff --git a/src/libsystemd-bus/bus-control.c b/src/libsystemd-bus/bus-control.c index 9d242dc41..dd404442c 100644 --- a/src/libsystemd-bus/bus-control.c +++ b/src/libsystemd-bus/bus-control.c @@ -27,12 +27,22 @@ #include "sd-bus.h" #include "bus-internal.h" #include "bus-message.h" +#include "bus-control.h" + +int sd_bus_get_unique_name(sd_bus *bus, const char **unique) { + int r; -const char *sd_bus_get_unique_name(sd_bus *bus) { if (!bus) - return NULL; + return -EINVAL; + if (!unique) + return -EINVAL; + + r = bus_ensure_running(bus); + if (r < 0) + return r; - return bus->unique_name; + *unique = bus->unique_name; + return 0; } int sd_bus_request_name(sd_bus *bus, const char *name, int flags) { @@ -283,14 +293,12 @@ int sd_bus_get_owner_pid(sd_bus *bus, const char *name, pid_t *pid) { return 0; } -int sd_bus_add_match(sd_bus *bus, const char *match) { +int bus_add_match_internal(sd_bus *bus, const char *match) { _cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL; int r; - if (!bus) - return -EINVAL; - if (!match) - return -EINVAL; + assert(bus); + assert(match); r = sd_bus_message_new_method_call( bus, @@ -309,14 +317,12 @@ int sd_bus_add_match(sd_bus *bus, const char *match) { return sd_bus_send_with_reply_and_block(bus, m, 0, NULL, &reply); } -int sd_bus_remove_match(sd_bus *bus, const char *match) { +int bus_remove_match_internal(sd_bus *bus, const char *match) { _cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL; int r; - if (!bus) - return -EINVAL; - if (!match) - return -EINVAL; + assert(bus); + assert(match); r = sd_bus_message_new_method_call( bus,