diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-09-23 21:02:40 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-09-23 21:55:58 -0500 |
commit | 01cfe43824149567b2be487034a2ea2904dd42f8 (patch) | |
tree | 25e89d35423229a904ea88e29094fdf806340307 | |
parent | df0a431a4100b705e9c25d3f08d0c9be4648bb54 (diff) | |
download | ofono-01cfe43824149567b2be487034a2ea2904dd42f8.tar.bz2 |
calypso: Provide hangup_all and hangup_active
On Calypso, ATH hangs up all calls except waiting calls and CHUP hangs
up only active calls, but not held or waiting.
-rw-r--r-- | drivers/calypsomodem/voicecall.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/calypsomodem/voicecall.c b/drivers/calypsomodem/voicecall.c index 05bae893..a669cb7e 100644 --- a/drivers/calypsomodem/voicecall.c +++ b/drivers/calypsomodem/voicecall.c @@ -119,12 +119,18 @@ static void calypso_answer(struct ofono_voicecall *vc, calypso_template(vc, "ATA", cb, data); } -static void calypso_hangup(struct ofono_voicecall *vc, +static void calypso_ath(struct ofono_voicecall *vc, ofono_voicecall_cb_t cb, void *data) { calypso_template(vc, "ATH", cb, data); } +static void calypso_chup(struct ofono_voicecall *vc, + ofono_voicecall_cb_t cb, void *data) +{ + calypso_template(vc, "AT+CHUP", cb, data); +} + static void calypso_hold_all_active(struct ofono_voicecall *vc, ofono_voicecall_cb_t cb, void *data) { @@ -409,7 +415,8 @@ static struct ofono_voicecall_driver driver = { .remove = calypso_voicecall_remove, .dial = calypso_dial, .answer = calypso_answer, - .hangup_active = calypso_hangup, + .hangup_all = calypso_ath, + .hangup_active = calypso_chup, .hold_all_active = calypso_hold_all_active, .release_all_held = calypso_release_all_held, .set_udub = calypso_set_udub, |