From 9a24ece0fb121f6191a076cc46e29640eaa7aaff Mon Sep 17 00:00:00 2001 From: Sjur Brændeland Date: Mon, 9 Aug 2010 23:18:38 +0200 Subject: voicecall: Add support for function hangup_all This patch fixes problem for modems that cannot terminate DIALING/ALERTING calls with CHUP=1X. The main change is that voicecall driver's hangup function is split into the functions hangup_all and hangup_active. Changes: - In cases where hangup previously was used, hangup_all is used if implemented otherwise hangup_active is used. - Call in state DIALING/ALERTING is released with hangup_active if implemented. - manager_hangup_all will simply call hangup_all if implemented. - manager_hangup_all will release calls in state ALERTING/DIALING/INCOMING using hangup_active otherwise release_specific. --- include/voicecall.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include/voicecall.h') diff --git a/include/voicecall.h b/include/voicecall.h index 998c02da..2356fcfa 100644 --- a/include/voicecall.h +++ b/include/voicecall.h @@ -69,6 +69,8 @@ struct ofono_voicecall_driver { ofono_voicecall_cb_t cb, void *data); void (*hangup_active)(struct ofono_voicecall *vc, ofono_voicecall_cb_t cb, void *data); + void (*hangup_all)(struct ofono_voicecall *vc, + ofono_voicecall_cb_t cb, void *data); void (*hold_all_active)(struct ofono_voicecall *vc, ofono_voicecall_cb_t cb, void *data); void (*release_all_held)(struct ofono_voicecall *vc, -- cgit v1.2.3