#include "dbus-unit.h"
#include "bus-errors.h"
-const char bus_unit_interface[] = BUS_UNIT_INTERFACE;
+const char bus_unit_interface[] _introspect_("Unit") = BUS_UNIT_INTERFACE;
#define INVALIDATING_PROPERTIES \
"LoadState\0" \
"ActiveExitTimestamp\0" \
"InactiveEnterTimestamp\0" \
"Job\0" \
- "NeedDaemonReload\0" \
- "\0"
+ "NeedDaemonReload\0"
int bus_unit_append_names(Manager *m, DBusMessageIter *i, const char *property, void *data) {
char *t;
goto oom;
}
- free(path);
-
if (reply) {
if (!dbus_connection_send(connection, reply, NULL))
goto oom;
dbus_message_unref(reply);
}
+ free(path);
+
return DBUS_HANDLER_RESULT_HANDLED;
oom:
if (r == -ENOMEM)
return DBUS_HANDLER_RESULT_NEED_MEMORY;
- if (r == -ENOENT)
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+ if (r == -ENOENT) {
+ DBusError e;
+
+ dbus_error_init(&e);
+ dbus_set_error_const(&e, DBUS_ERROR_UNKNOWN_OBJECT, "Unknown unit");
+ return bus_send_error_reply(m, connection, message, &e, r);
+ }
return bus_send_error_reply(m, connection, message, NULL, r);
}