X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fdbus-service.c;h=3486623e59947ffb45e8d7ee94825742991119fb;hb=2376ce132bdba049f015b22b2db3a77c570aa154;hp=93fc2a3b684d8aa467121cd2ea7f21e6f202105c;hpb=3185a36b05d53757a412f847d8c510978b9b00f0;p=elogind.git
diff --git a/src/dbus-service.c b/src/dbus-service.c
index 93fc2a3b6..3486623e5 100644
--- a/src/dbus-service.c
+++ b/src/dbus-service.c
@@ -24,36 +24,17 @@
#include "dbus-unit.h"
#include "dbus-execute.h"
#include "dbus-service.h"
+#include "dbus-common.h"
#ifdef HAVE_SYSV_COMPAT
-#define BUS_SERVICE_INTERFACE \
- " \n" \
- " \n" \
- " \n" \
- " \n" \
- " \n" \
- " \n" \
- " \n" \
- BUS_EXEC_COMMAND_INTERFACE("ExecStartPre") \
- BUS_EXEC_COMMAND_INTERFACE("ExecStart") \
- BUS_EXEC_COMMAND_INTERFACE("ExecStartPost") \
- BUS_EXEC_COMMAND_INTERFACE("ExecReload") \
- BUS_EXEC_COMMAND_INTERFACE("ExecStop") \
- BUS_EXEC_COMMAND_INTERFACE("ExecStopPost") \
- BUS_EXEC_CONTEXT_INTERFACE \
- " \n" \
- " \n" \
- " \n" \
- BUS_EXEC_STATUS_INTERFACE("ExecMain") \
- " \n" \
- " \n" \
+#define BUS_SERVICE_SYSV_INTERFACE_FRAGMENT \
" \n" \
" \n" \
- " \n" \
- " \n" \
- " \n" \
- " \n"
+ " \n"
#else
+#define BUS_SERVICE_SYSV_INTERFACE_FRAGMENT ""
+#endif
+
#define BUS_SERVICE_INTERFACE \
" \n" \
" \n" \
@@ -77,8 +58,10 @@
" \n" \
" \n" \
" \n" \
+ " \n" \
+ " \n" \
+ BUS_SERVICE_SYSV_INTERFACE_FRAGMENT \
" \n"
-#endif
#define INTROSPECTION \
DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE \
@@ -90,6 +73,10 @@
BUS_INTROSPECTABLE_INTERFACE \
"\n"
+#define INTERFACES_LIST \
+ BUS_UNIT_INTERFACES_LIST \
+ "org.freedesktop.systemd1.Service\0"
+
const char bus_service_interface[] _introspect_("Service") = BUS_SERVICE_INTERFACE;
const char bus_service_invalidating_properties[] =
@@ -102,8 +89,7 @@ const char bus_service_invalidating_properties[] =
"ExecMain\0"
"MainPID\0"
"ControlPID\0"
- "StatusText\0"
- "\0";
+ "StatusText\0";
static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_service_append_type, service_type, ServiceType);
static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_service_append_restart, service_restart, ServiceRestart);
@@ -132,18 +118,17 @@ DBusHandlerResult bus_service_message_handler(Unit *u, DBusConnection *connectio
BUS_EXEC_STATUS_PROPERTIES("org.freedesktop.systemd1.Service", u->service.main_exec_status, "ExecMain"),
{ "org.freedesktop.systemd1.Service", "MainPID", bus_property_append_pid, "u", &u->service.main_pid },
{ "org.freedesktop.systemd1.Service", "ControlPID", bus_property_append_pid, "u", &u->service.control_pid },
-#ifdef HAVE_SYSV_COMPAT
- { "org.freedesktop.systemd1.Service", "SysVPath", bus_property_append_string, "s", u->service.sysv_path },
-#endif
{ "org.freedesktop.systemd1.Service", "BusName", bus_property_append_string, "s", u->service.bus_name },
{ "org.freedesktop.systemd1.Service", "StatusText", bus_property_append_string, "s", u->service.status_text },
+ { "org.freedesktop.systemd1.Service", "Sockets", bus_unit_append_dependencies, "as", u->service.configured_sockets },
#ifdef HAVE_SYSV_COMPAT
{ "org.freedesktop.systemd1.Service", "SysVRunLevels", bus_property_append_string, "s", u->service.sysv_runlevels },
{ "org.freedesktop.systemd1.Service", "SysVStartPriority", bus_property_append_int, "i", &u->service.sysv_start_priority },
+ { "org.freedesktop.systemd1.Service", "SysVPath", bus_property_append_string, "s", u->service.sysv_path },
#endif
{ "org.freedesktop.systemd1.Service", "FsckPassNo", bus_property_append_int, "i", &u->service.fsck_passno },
{ NULL, NULL, NULL, NULL, NULL }
};
- return bus_default_message_handler(u->meta.manager, connection, message, INTROSPECTION, properties);
+ return bus_default_message_handler(connection, message, INTROSPECTION, INTERFACES_LIST, properties);
}