diff options
author | Mikel Astiz <mikel.astiz@bmw-carit.de> | 2012-09-28 18:32:23 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-10-01 17:28:22 +0300 |
commit | 5381d021f3a1d63267273bb8b6b90772b01fa302 (patch) | |
tree | 045ee8ee6613f1f79a539943430207a005ba15a3 /plugins | |
parent | 127d871ed881ec690baded8fc607acfec886479a (diff) |
adapter: Use authorization id for cancelling
Return a request id in btd_request_authorization() in order to be used
when the request needs to be cancelled. This id alone will be enough to
use btd_cancel_authorization().
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/service.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/plugins/service.c b/plugins/service.c index e02a67318..45886ac11 100644 --- a/plugins/service.c +++ b/plugins/service.c @@ -65,6 +65,7 @@ struct pending_auth { char *sender; bdaddr_t dst; char uuid[MAX_LEN_UUID_STR]; + guint id; }; struct service_adapter { @@ -557,8 +558,9 @@ done: else bacpy(&src, BDADDR_ANY); - btd_request_authorization(&src, &auth->dst, - auth->uuid, auth_cb, serv_adapter); + auth->id = btd_request_authorization(&src, &auth->dst, + auth->uuid, auth_cb, + serv_adapter); } static DBusMessage *request_authorization(DBusConnection *conn, @@ -633,8 +635,9 @@ static DBusMessage *request_authorization(DBusConnection *conn, else bacpy(&src, BDADDR_ANY); - if (btd_request_authorization(&src, &auth->dst, auth->uuid, auth_cb, - serv_adapter) < 0) { + auth->id = btd_request_authorization(&src, &auth->dst, auth->uuid, + auth_cb, serv_adapter); + if (auth->id == 0) { serv_adapter->pending_list = g_slist_remove(serv_adapter->pending_list, auth); g_free(auth); @@ -664,7 +667,7 @@ static DBusMessage *cancel_authorization(DBusConnection *conn, else bacpy(&src, BDADDR_ANY); - btd_cancel_authorization(&src, &auth->dst); + btd_cancel_authorization(auth->id); reply = btd_error_not_authorized(auth->msg); dbus_message_unref(auth->msg); @@ -683,8 +686,9 @@ static DBusMessage *cancel_authorization(DBusConnection *conn, else bacpy(&src, BDADDR_ANY); - btd_request_authorization(&src, &auth->dst, - auth->uuid, auth_cb, serv_adapter); + auth->id = btd_request_authorization(&src, &auth->dst, + auth->uuid, auth_cb, + serv_adapter); done: return dbus_message_new_method_return(msg); |