Re: [PATCH v3 8/8] Remove occurences of sco_start_cb
From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2011-08-29 08:45:20
Hi Frédéric, 2011/8/26 Frédéric Dalleau [off-list ref]:
quoted hunk ↗ jump to hunk
--- audio/gateway.c | 28 ++++++---------------------- 1 files changed, 6 insertions(+), 22 deletions(-)diff --git a/audio/gateway.c b/audio/gateway.c index e145ced..34c57df 100644 --- a/audio/gateway.c +++ b/audio/gateway.c@@ -71,8 +71,6 @@ struct gateway {GIOChannel *rfcomm; GIOChannel *sco; GIOChannel *incoming; - gateway_stream_cb_t sco_start_cb; - void *sco_start_cb_data; GSList *callbacks; struct hf_agent *agent; DBusMessage *msg;@@ -259,9 +257,6 @@ static void sco_connect_cb(GIOChannel *chan, GError *err, gpointer user_data)change_state(dev, GATEWAY_STATE_PLAYING); - if (gw->sco_start_cb) - gw->sco_start_cb(dev, 0, gw->sco_start_cb_data); - run_connect_cb(dev, 0); }@@ -316,8 +311,6 @@ static void rfcomm_connect_cb(GIOChannel *chan, GError *err,if (err) { error("connect(): %s", err->message); - if (gw->sco_start_cb) - gw->sco_start_cb(dev, err->code, gw->sco_start_cb_data); goto fail; }@@ -353,7 +346,7 @@ fail:g_dbus_send_message(dev->conn, reply); } - change_state(dev, GATEWAY_STATE_DISCONNECTED); + gateway_close(dev); } static int get_remote_profile_version(sdp_record_t *rec)@@ -498,7 +491,6 @@ static void get_record_cb(sdp_list_t *recs, int err, gpointer user_data)BT_IO_OPT_INVALID); if (!io) { error("Unable to connect: %s", gerr->message); - gateway_close(dev); goto fail; }@@ -512,16 +504,10 @@ fail:g_dbus_send_message(dev->conn, reply); } - change_state(dev, GATEWAY_STATE_DISCONNECTED); - - if (!gerr) - g_set_error(&gerr, BT_IO_ERROR, BT_IO_ERROR_FAILED, - "connect: %s (%d)", strerror(-err), -err); - - if (gw->sco_start_cb) - gw->sco_start_cb(dev, -err, gw->sco_start_cb_data); + gateway_close(dev); - g_error_free(gerr); + if (gerr) + g_error_free(gerr); } static int get_records(struct audio_device *device)@@ -571,11 +557,10 @@ int gateway_close(struct audio_device *device)g_io_channel_shutdown(gw->sco, TRUE, NULL); g_io_channel_unref(gw->sco); gw->sco = NULL; - gw->sco_start_cb = NULL; - gw->sco_start_cb_data = NULL; } change_state(device, GATEWAY_STATE_DISCONNECTED); + run_connect_cb(device, -EIO); return 0; }@@ -904,8 +889,7 @@ void gateway_suspend_stream(struct audio_device *dev)g_io_channel_shutdown(gw->sco, TRUE, NULL); g_io_channel_unref(gw->sco); gw->sco = NULL; - gw->sco_start_cb = NULL; - gw->sco_start_cb_data = NULL; + run_connect_cb(dev, -ECONNABORTED); change_state(dev, GATEWAY_STATE_CONNECTED); } -- 1.7.1
As I said I would merge this where you actually change the way the callbacks works. -- Luiz Augusto von Dentz