summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-09-23 22:49:29 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-09-23 23:53:40 -0500
commite1ee41b654227c458a5f30433c7e565c7c3f65f0 (patch)
tree4f2009a0567acb3f6a393235cf38d17c277b2400
parent6d3766371399a7c27eab8ff5fa7fac50493bbce9 (diff)
downloadofono-e1ee41b654227c458a5f30433c7e565c7c3f65f0.tar.bz2
ifx: IFX provides swap_without_accept using CHLD=6
-rw-r--r--drivers/ifxmodem/voicecall.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/ifxmodem/voicecall.c b/drivers/ifxmodem/voicecall.c
index a19a2754..4e36de10 100644
--- a/drivers/ifxmodem/voicecall.c
+++ b/drivers/ifxmodem/voicecall.c
@@ -579,6 +579,12 @@ static void ifx_deflect(struct ofono_voicecall *vc,
ifx_template(buf, vc, generic_cb, incoming_or_waiting, cb, data);
}
+static void ifx_swap_without_accept(struct ofono_voicecall *vc,
+ ofono_voicecall_cb_t cb, void *data)
+{
+ ifx_template("AT+CHLD=6", vc, generic_cb, 0, cb, data);
+}
+
static void vts_cb(gboolean ok, GAtResult *result, gpointer user_data)
{
struct cb_data *cbd = user_data;
@@ -900,7 +906,7 @@ static struct ofono_voicecall_driver driver = {
.create_multiparty = ifx_create_multiparty,
.transfer = ifx_transfer,
.deflect = ifx_deflect,
- .swap_without_accept = NULL,
+ .swap_without_accept = ifx_swap_without_accept,
.send_tones = ifx_send_dtmf
};