diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-06-06 18:02:21 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2006-06-06 18:02:21 +0000 |
commit | 253d30d4f95eb6d896531a5bfb570e7d1bb1ca0c (patch) | |
tree | 4900aa3508b1c7513784186ac374bcc8ec01f489 /hcid/dbus-manager.c | |
parent | a2e87ebea964817c620cef7cb0c70cdd0982232c (diff) |
Add simple introspection support
Diffstat (limited to 'hcid/dbus-manager.c')
-rw-r--r-- | hcid/dbus-manager.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/hcid/dbus-manager.c b/hcid/dbus-manager.c index 2a5b8d82..10d1a07f 100644 --- a/hcid/dbus-manager.c +++ b/hcid/dbus-manager.c @@ -218,15 +218,19 @@ DBusHandlerResult msg_func_manager(DBusConnection *conn, DBusMessage *msg, void *data) { service_handler_func_t handler; - const char *iface, *path; + const char *iface, *path, *name; iface = dbus_message_get_interface(msg); path = dbus_message_get_path(msg); + name = dbus_message_get_member(msg); if (strcmp(BASE_PATH, path)) return error_no_such_adapter(conn, msg); - if (!strcmp(iface, MANAGER_INTERFACE)) { + if (!strcmp(DBUS_INTERFACE_INTROSPECTABLE, iface) && + !strcmp("Introspect", name)) { + return simple_introspect(conn, msg, data); + } else if (!strcmp(iface, MANAGER_INTERFACE)) { handler = find_service_handler(methods, msg); if (handler) return handler(conn, msg, data); |