X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dbus-job.c;h=3a6e7159e9959edc41a9623d8ec2d4e90896245b;hb=136337ff74f05be3d42a769d9f0cb99716c5c40f;hp=b0f575b11be921b1c183775624ffdd2a0e06bb24;hpb=9e2f7c11fb6ba35ffec2274da3e2d08b10d23965;p=elogind.git diff --git a/dbus-job.c b/dbus-job.c index b0f575b11..3a6e7159e 100644 --- a/dbus-job.c +++ b/dbus-job.c @@ -23,6 +23,7 @@ #include "dbus.h" #include "log.h" +#include "dbus-job.h" static const char introspection[] = DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE @@ -39,8 +40,8 @@ static const char introspection[] = BUS_INTROSPECTABLE_INTERFACE ""; -DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_job_append_state, job_state, JobState); -DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_job_append_type, job_type, JobType); +static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_job_append_state, job_state, JobState); +static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_job_append_type, job_type, JobType); static int bus_job_append_unit(Manager *m, DBusMessageIter *i, const char *property, void *data) { Job *j = data; @@ -151,8 +152,10 @@ void bus_job_send_change_signal(Job *j) { LIST_REMOVE(Job, dbus_queue, j->manager->dbus_job_queue, j); j->in_dbus_queue = false; - if (set_isempty(j->manager->subscribed)) + if (set_isempty(j->manager->subscribed)) { + j->sent_dbus_new_signal = true; return; + } if (!(p = job_dbus_path(j))) goto oom; @@ -165,7 +168,7 @@ void bus_job_send_change_signal(Job *j) { } else { /* Send a new signal */ - if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1", "JobNew"))) + if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobNew"))) goto oom; if (!dbus_message_append_args(m, @@ -206,7 +209,7 @@ void bus_job_send_removed_signal(Job *j) { if (!(p = job_dbus_path(j))) goto oom; - if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1", "JobRemoved"))) + if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", "JobRemoved"))) goto oom; if (!dbus_message_append_args(m,