#include "log.h"
#include "dbus-unit.h"
+const char bus_unit_interface[] = BUS_UNIT_INTERFACE;
+
int bus_unit_append_names(Manager *m, DBusMessageIter *i, const char *property, void *data) {
char *t;
Iterator j;
Manager *m = u->meta.manager;
DBusError error;
JobType job_type = _JOB_TYPE_INVALID;
+ char *path = NULL;
dbus_error_init(&error);
JobMode mode;
Job *j;
int r;
- char *path;
+
+ if (job_type == JOB_START && u->meta.only_by_dependency)
+ return bus_send_error_reply(m, message, NULL, -EPERM);
if (!dbus_message_get_args(
message,
goto oom;
}
+ free(path);
+
if (reply) {
if (!dbus_connection_send(m->api_bus, reply, NULL))
goto oom;
return DBUS_HANDLER_RESULT_HANDLED;
oom:
+ free(path);
+
if (reply)
dbus_message_unref(reply);
assert(u);
- if (set_isempty(u->meta.manager->subscribed) || !u->meta.sent_dbus_new_signal)
+ if (set_isempty(u->meta.manager->subscribed))
return;
+ if (!u->meta.sent_dbus_new_signal)
+ bus_unit_send_change_signal(u);
+
if (!(p = unit_dbus_path(u)))
goto oom;