summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-04-17 16:55:29 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-06-03 13:16:49 +0200
commit8ded3b5bd988c479ede2cadac29359c65f65d0b5 (patch)
tree46f0a592b01d522e2724e7b35fc9f7b65c7a3765
parente00e430c6eb82673daa2c248e642dec264f211cc (diff)
downloadsssd-8ded3b5bd988c479ede2cadac29359c65f65d0b5.tar.gz
sssd-8ded3b5bd988c479ede2cadac29359c65f65d0b5.tar.xz
sssd-8ded3b5bd988c479ede2cadac29359c65f65d0b5.zip
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)
-rw-r--r--src/sbus/sssd_dbus_connection.c1
-rw-r--r--src/sbus/sssd_dbus_introspect.c8
-rw-r--r--src/sbus/sssd_dbus_private.h3
3 files changed, 12 insertions, 0 deletions
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 \
"<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n" \
"\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\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;
};