From 880d2f580600b8318c8c66d6607b47b17318cff9 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Mon, 17 Dec 2012 12:05:40 +0200 Subject: [PATCH] core: Remove adapter->agent --- src/adapter.c | 40 +++------------------------------------- 1 file changed, 3 insertions(+), 37 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index 95689491c..1c12a7cb9 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -143,7 +143,6 @@ struct btd_adapter { * limited */ uint8_t global_mode; /* last valid global mode */ struct session_req *pending_mode; - struct agent *agent; /* For the new API */ guint auth_idle_id; /* Pending authorization dequeue */ GQueue *auths; /* Ongoing and pending auths */ GSList *connections; /* Connected devices */ @@ -666,11 +665,8 @@ static void session_free(void *data) if (req->id) g_dbus_remove_watch(btd_get_dbus_connection(), req->id); - if (req->msg) { + if (req->msg) dbus_message_unref(req->msg); - if (!req->got_reply && req->mode && req->adapter->agent) - agent_cancel(req->adapter->agent); - } g_free(req->owner); g_free(req); @@ -1382,13 +1378,6 @@ static DBusMessage *remove_device(DBusConnection *conn, DBusMessage *msg, return NULL; } -static void agent_removed(struct agent *agent, struct btd_adapter *adapter) -{ - mgmt_set_io_capability(adapter->dev_id, IO_CAPABILITY_NOINPUTNOOUTPUT); - - adapter->agent = NULL; -} - static DBusMessage *register_agent(DBusConnection *conn, DBusMessage *msg, void *data) { @@ -1400,18 +1389,12 @@ static DBusMessage *register_agent(DBusConnection *conn, DBusMessage *msg, DBUS_TYPE_STRING, &capability, DBUS_TYPE_INVALID)) return btd_error_invalid_args(msg); - if (adapter->agent) - return btd_error_already_exists(msg); - cap = parse_io_capability(capability); if (cap == IO_CAPABILITY_INVALID) return btd_error_invalid_args(msg); name = dbus_message_get_sender(msg); - adapter->agent = agent_create(adapter, name, path, cap, - (agent_remove_cb) agent_removed, adapter); - DBG("Agent registered for hci%d at %s:%s", adapter->dev_id, name, path); @@ -1423,21 +1406,12 @@ static DBusMessage *register_agent(DBusConnection *conn, DBusMessage *msg, static DBusMessage *unregister_agent(DBusConnection *conn, DBusMessage *msg, void *data) { - const char *path, *name; - struct btd_adapter *adapter = data; + const char *path; if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, DBUS_TYPE_INVALID)) return btd_error_invalid_args(msg); - name = dbus_message_get_sender(msg); - - if (!adapter->agent || !agent_matches(adapter->agent, name, path)) - return btd_error_does_not_exist(msg); - - agent_unref(adapter->agent); - adapter->agent = NULL; - return dbus_message_new_method_return(msg); } @@ -2067,11 +2041,6 @@ static void adapter_free(gpointer user_data) { struct btd_adapter *adapter = user_data; - if (adapter->agent) { - agent_unref(adapter->agent); - adapter->agent = NULL; - } - DBG("%p", adapter); if (adapter->auth_idle_id) @@ -3295,10 +3264,7 @@ void adapter_mode_changed(struct btd_adapter *adapter, uint8_t scan_mode) struct agent *adapter_get_agent(struct btd_adapter *adapter) { - if (!adapter) - return NULL; - - return adapter->agent; + return agent_get(NULL); } void adapter_add_connection(struct btd_adapter *adapter, -- 2.47.3