From aaa3176242d8747d5b3a3b5a630fed56e741630a Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 18 Jan 2007 01:09:32 +0000 Subject: Use default message handling support --- daemon/manager.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'daemon/manager.c') diff --git a/daemon/manager.c b/daemon/manager.c index b68dd327..572495e0 100644 --- a/daemon/manager.c +++ b/daemon/manager.c @@ -28,6 +28,7 @@ #include #include "logging.h" +#include "dbus.h" #include "manager.h" @@ -35,14 +36,25 @@ static DBusConnection *connection = NULL; -static DBusHandlerResult manager_handler(DBusConnection *conn, +static DBusHandlerResult default_adapter(DBusConnection *conn, DBusMessage *msg, void *data) { - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + DBusMessage *reply; + const char path[] = "/org/bluez/hci0", *ptr = path; + + reply = dbus_message_new_method_return(msg); + if (!reply) + return DBUS_HANDLER_RESULT_NEED_MEMORY; + + dbus_message_append_args(reply, DBUS_TYPE_STRING, &ptr, + DBUS_TYPE_INVALID); + + return send_message_and_unref(conn, reply); } -static DBusObjectPathVTable manager_table = { - .message_function = manager_handler, +static struct message_table manager_table[] = { + { "org.bluez.Manager", "DefaultAdapter", DBUS_TYPE_INVALID_AS_STRING, default_adapter }, + { } }; int manager_init(DBusConnection *conn) @@ -51,8 +63,8 @@ int manager_init(DBusConnection *conn) info("Starting manager interface"); - if (dbus_connection_register_object_path(connection, - MANAGER_PATH, &manager_table, NULL) == FALSE) { + if (dbus_connection_register_object_path(connection, MANAGER_PATH, + &generic_object_path, &manager_table) == FALSE) { error("Manager path registration failed"); dbus_connection_unref(connection); return -1; -- cgit