1 /*
2 * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #include "api/dtmf_sender_interface.h"
12 #include "sdk/android/generated_peerconnection_jni/DtmfSender_jni.h"
13 #include "sdk/android/native_api/jni/java_types.h"
14 #include "sdk/android/src/jni/jni_helpers.h"
15
16 namespace webrtc {
17 namespace jni {
18
JNI_DtmfSender_CanInsertDtmf(JNIEnv * jni,jlong j_dtmf_sender_pointer)19 static jboolean JNI_DtmfSender_CanInsertDtmf(JNIEnv* jni,
20 jlong j_dtmf_sender_pointer) {
21 return reinterpret_cast<DtmfSenderInterface*>(j_dtmf_sender_pointer)
22 ->CanInsertDtmf();
23 }
24
JNI_DtmfSender_InsertDtmf(JNIEnv * jni,jlong j_dtmf_sender_pointer,const JavaParamRef<jstring> & tones,jint duration,jint inter_tone_gap)25 static jboolean JNI_DtmfSender_InsertDtmf(JNIEnv* jni,
26 jlong j_dtmf_sender_pointer,
27 const JavaParamRef<jstring>& tones,
28 jint duration,
29 jint inter_tone_gap) {
30 return reinterpret_cast<DtmfSenderInterface*>(j_dtmf_sender_pointer)
31 ->InsertDtmf(JavaToStdString(jni, tones), duration, inter_tone_gap);
32 }
33
JNI_DtmfSender_Tones(JNIEnv * jni,jlong j_dtmf_sender_pointer)34 static ScopedJavaLocalRef<jstring> JNI_DtmfSender_Tones(
35 JNIEnv* jni,
36 jlong j_dtmf_sender_pointer) {
37 return NativeToJavaString(
38 jni,
39 reinterpret_cast<DtmfSenderInterface*>(j_dtmf_sender_pointer)->tones());
40 }
41
JNI_DtmfSender_Duration(JNIEnv * jni,jlong j_dtmf_sender_pointer)42 static jint JNI_DtmfSender_Duration(JNIEnv* jni,
43 jlong j_dtmf_sender_pointer) {
44 return reinterpret_cast<DtmfSenderInterface*>(j_dtmf_sender_pointer)
45 ->duration();
46 }
47
JNI_DtmfSender_InterToneGap(JNIEnv * jni,jlong j_dtmf_sender_pointer)48 static jint JNI_DtmfSender_InterToneGap(JNIEnv* jni,
49 jlong j_dtmf_sender_pointer) {
50 return reinterpret_cast<DtmfSenderInterface*>(j_dtmf_sender_pointer)
51 ->inter_tone_gap();
52 }
53
54 } // namespace jni
55 } // namespace webrtc
56