From 8ded3b5bd988c479ede2cadac29359c65f65d0b5 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Thu, 17 Apr 2014 16:55:29 +0200 Subject: SBUS: Create an sbus_method_meta instance for Introspection Also fixes a warning about uninitialized 'method' as the 'method' variable was unused and not set previously when introspecting. (cherry picked from commit 7a9a6ee1b5f5479c3a6958401f9b34c571c3b6bf) --- src/sbus/sssd_dbus_connection.c | 1 + src/sbus/sssd_dbus_introspect.c | 8 ++++++++ src/sbus/sssd_dbus_private.h | 3 +++ 3 files changed, 12 insertions(+) diff --git a/src/sbus/sssd_dbus_connection.c b/src/sbus/sssd_dbus_connection.c index 27e1f3ea8..0049cf3c6 100644 --- a/src/sbus/sssd_dbus_connection.c +++ b/src/sbus/sssd_dbus_connection.c @@ -440,6 +440,7 @@ DBusHandlerResult sbus_message_handler(DBusConnection *dbus_conn, handler_fn = sbus_introspect; ictx->iface = interface; handler_data = ictx; + method = &introspect_method; } } } diff --git a/src/sbus/sssd_dbus_introspect.c b/src/sbus/sssd_dbus_introspect.c index ffc1f4d38..ef0ff2fd5 100644 --- a/src/sbus/sssd_dbus_introspect.c +++ b/src/sbus/sssd_dbus_introspect.c @@ -28,6 +28,14 @@ #include "sbus/sssd_dbus_private.h" #include "sbus/sssd_dbus_meta.h" +static const struct sbus_arg_meta introspect_method_arg_out[] = { + { "data", "s" }, + { NULL, } +}; + +const struct sbus_method_meta introspect_method = + { DBUS_INTROSPECT_METHOD, NULL, introspect_method_arg_out, 0 }; + #define SSS_INTROSPECT_DOCTYPE \ "\n" diff --git a/src/sbus/sssd_dbus_private.h b/src/sbus/sssd_dbus_private.h index 929caeccb..6abe56c66 100644 --- a/src/sbus/sssd_dbus_private.h +++ b/src/sbus/sssd_dbus_private.h @@ -98,6 +98,9 @@ struct sbus_request * sbus_new_request(struct sbus_connection *conn, struct sbus_interface *intf, DBusMessage *message); +/* =Interface=introspection=============================================== */ +extern const struct sbus_method_meta introspect_method; + struct sbus_introspect_ctx { const struct sbus_interface_meta *iface; }; -- cgit