From e176a9019fc4faaeb655897236cc0d34d01581c9 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Wed, 22 Jan 2014 10:16:01 -0600 Subject: [PATCH] hfp: Add implementation of +BIEV --- drivers/hfpmodem/handsfree.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/hfpmodem/handsfree.c b/drivers/hfpmodem/handsfree.c index cd594dce..c85aac28 100644 --- a/drivers/hfpmodem/handsfree.c +++ b/drivers/hfpmodem/handsfree.c @@ -360,6 +360,25 @@ static void hfp_disable_nrec(struct ofono_handsfree *hf, CALLBACK_WITH_FAILURE(cb, data); } +static void hfp_hf_indicator(struct ofono_handsfree *hf, + unsigned short indicator, unsigned int value, + ofono_handsfree_cb_t cb, void *data) +{ + struct hf_data *hd = ofono_handsfree_get_data(hf); + struct cb_data *cbd = cb_data_new(cb, data); + char buf[128]; + + snprintf(buf, sizeof(buf), "AT+BIEV=%u,%u", indicator, value); + + if (g_at_chat_send(hd->chat, buf, NULL, hf_generic_set_cb, + cbd, g_free) > 0) + return; + + g_free(cbd); + + CALLBACK_WITH_FAILURE(cb, data); +} + static struct ofono_handsfree_driver driver = { .name = "hfpmodem", .probe = hfp_handsfree_probe, @@ -368,6 +387,7 @@ static struct ofono_handsfree_driver driver = { .request_phone_number = hfp_request_phone_number, .voice_recognition = hfp_voice_recognition, .disable_nrec = hfp_disable_nrec, + .hf_indicator = hfp_hf_indicator, }; void hfp_handsfree_init(void)