From 649448818704cd93136d55d33676ad80cb463224 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 27 May 2008 21:31:12 +0000 Subject: Use guint identifier for all name_listener operations --- hcid/dbus-test.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'hcid/dbus-test.c') diff --git a/hcid/dbus-test.c b/hcid/dbus-test.c index 2ace4252..23876c07 100644 --- a/hcid/dbus-test.c +++ b/hcid/dbus-test.c @@ -79,6 +79,8 @@ struct audit { uint16_t mask_result; uint32_t mask; + + guint listener_id; }; static GSList *audits = NULL; @@ -127,9 +129,12 @@ static void send_audit_status(struct audit *audit, const char *name) DBUS_TYPE_INVALID); } -static void audit_requestor_exited(const char *name, struct audit *audit) +static void audit_requestor_exited(const char *name, void *user_data) { + struct audit *audit = user_data; + debug("AuditRemoteDevice requestor %s exited", name); + audits = g_slist_remove(audits, audit); if (audit->io) { struct adapter *adapter = NULL; @@ -178,8 +183,7 @@ static gboolean l2raw_input_timer(struct audit *audit) g_io_channel_close(audit->io); audits = g_slist_remove(audits, audit); - name_listener_remove(audit->conn, audit->requestor, - (name_cb_t) audit_requestor_exited, audit); + name_listener_id_remove(audit->listener_id); audit_free(audit); return FALSE; @@ -323,8 +327,7 @@ failed: g_io_channel_close(io); g_io_channel_unref(io); audits = g_slist_remove(audits, audit); - name_listener_remove(audit->conn, audit->requestor, - (name_cb_t) audit_requestor_exited, audit); + name_listener_id_remove(audit->listener_id); process_audits_list(audit->adapter_path); @@ -399,8 +402,7 @@ failed: g_io_channel_close(io); g_io_channel_unref(io); audits = g_slist_remove(audits, audit); - name_listener_remove(audit->conn, audit->requestor, - (name_cb_t) audit_requestor_exited, audit); + name_listener_id_remove(audit->listener_id); audit_free(audit); return FALSE; @@ -481,8 +483,9 @@ static DBusHandlerResult audit_remote_device(DBusConnection *conn, (GIOFunc) l2raw_connect_complete, audit); } - name_listener_add(conn, dbus_message_get_sender(msg), - (name_cb_t) audit_requestor_exited, audit); + audit->listener_id = name_listener_add(conn, + dbus_message_get_sender(msg), + audit_requestor_exited, audit); audits = g_slist_append(audits, audit); @@ -538,8 +541,7 @@ static DBusHandlerResult cancel_audit_remote_device(DBusConnection *conn, g_source_remove(audit->timeout); audits = g_slist_remove(audits, audit); - name_listener_remove(audit->conn, audit->requestor, - (name_cb_t) audit_requestor_exited, audit); + name_listener_id_remove(audit->listener_id); audit_free(audit); reply = dbus_message_new_method_return(msg); @@ -682,8 +684,7 @@ void process_audits_list(const char *adapter_path) if (!adapter) { audits = g_slist_remove(audits, audit); - name_listener_remove(audit->conn, audit->requestor, - (name_cb_t) audit_requestor_exited, audit); + name_listener_id_remove(audit->listener_id); audit_free(audit); continue; } @@ -696,8 +697,7 @@ void process_audits_list(const char *adapter_path) if (sk < 0) { send_audit_status(audit, "AuditRemoteDeviceFailed"); audits = g_slist_remove(audits, audit); - name_listener_remove(audit->conn, audit->requestor, - (name_cb_t) audit_requestor_exited, audit); + name_listener_id_remove(audit->listener_id); audit_free(audit); continue; } -- cgit