summaryrefslogtreecommitdiffstats
path: root/call.c
diff options
context:
space:
mode:
authorPaulK <contact@paulk.fr>2011-12-07 20:13:01 +0100
committerPaulK <contact@paulk.fr>2011-12-07 20:13:01 +0100
commitcb295e0a15c8bc5087a542f25bc369aecbecde80 (patch)
tree73315b999538184e2bd6214d0b04a86806bc9706 /call.c
parent76e7653e6de5fd290a54a40f1e2592b216fd78da (diff)
downloadhardware_ril_samsung-ril-cb295e0a15c8bc5087a542f25bc369aecbecde80.zip
hardware_ril_samsung-ril-cb295e0a15c8bc5087a542f25bc369aecbecde80.tar.gz
hardware_ril_samsung-ril-cb295e0a15c8bc5087a542f25bc369aecbecde80.tar.bz2
Added DTMF support
Diffstat (limited to 'call.c')
-rw-r--r--call.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/call.c b/call.c
index 29e9649..ee164bd 100644
--- a/call.c
+++ b/call.c
@@ -203,3 +203,27 @@ void respondCallStatus(RIL_Token t, void *data, int length)
{
RIL_onUnsolicitedResponse(RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED, NULL, 0);
}
+
+void requestDtmfStart(RIL_Token t, void *data, int length)
+{
+ //TODO: Check if there is already a DTMF going on and cancel it if so
+
+ struct ipc_call_cont_dtmf cont_dtmf;
+ cont_dtmf.state = IPC_CALL_DTMF_STATE_START;
+ cont_dtmf.tone = ((char *)data)[0];
+
+ ipc_client_send(ipc_client, IPC_CALL_CONT_DTMF, IPC_TYPE_SET, (unsigned char*)&cont_dtmf, sizeof(cont_dtmf), getRequestId(t));
+
+ RIL_onRequestComplete(t, RIL_E_SUCCESS, NULL, 0);
+}
+
+void requestDtmfStop(RIL_Token t)
+{
+ struct ipc_call_cont_dtmf cont_dtmf;
+ cont_dtmf.state = IPC_CALL_DTMF_STATE_STOP;
+ cont_dtmf.tone = 0;
+
+ ipc_client_send(ipc_client, IPC_CALL_CONT_DTMF, IPC_TYPE_SET, (unsigned char*)&cont_dtmf, sizeof(cont_dtmf), getRequestId(t));
+
+ RIL_onRequestComplete(t, RIL_E_SUCCESS, NULL, 0);
+}