From 3d13a64488b9686a32b2058a287ed12505b405fb Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Wed, 23 Mar 2022 10:01:35 +0200 Subject: [PATCH] Moved all API function definitions to Api object --- app/src/main/cpp/baresip.c | 26 ++++++------ app/src/main/kotlin/com/tutpro/baresip/Api.kt | 14 +++++++ .../main/kotlin/com/tutpro/baresip/Call.kt | 40 ++++++------------- 3 files changed, 40 insertions(+), 40 deletions(-) diff --git a/app/src/main/cpp/baresip.c b/app/src/main/cpp/baresip.c index a9c74c9d..4192dcff 100644 --- a/app/src/main/cpp/baresip.c +++ b/app/src/main/cpp/baresip.c @@ -1131,7 +1131,7 @@ Java_com_tutpro_baresip_Api_calls_1mute(JNIEnv *env, jobject thiz, jboolean mute } JNIEXPORT jint JNICALL -Java_com_tutpro_baresip_Call_call_1connect(JNIEnv *env, jobject thiz, jlong call, jstring jPeer) +Java_com_tutpro_baresip_Api_call_1connect(JNIEnv *env, jobject thiz, jlong call, jstring jPeer) { const char *native_peer = (*env)->GetStringUTFChars(env, jPeer, 0); LOGD("connecting call %ld to %s\n", (long)call, native_peer); @@ -1146,7 +1146,7 @@ Java_com_tutpro_baresip_Call_call_1connect(JNIEnv *env, jobject thiz, jlong call } JNIEXPORT void JNICALL -Java_com_tutpro_baresip_Call_call_1notify_1sipfrag(JNIEnv *env, jobject thiz, jlong call, jint code, jstring reason) +Java_com_tutpro_baresip_Api_call_1notify_1sipfrag(JNIEnv *env, jobject thiz, jlong call, jint code, jstring reason) { const uint16_t native_code = code; const char *native_reason = (*env)->GetStringUTFChars(env, reason, 0); @@ -1158,7 +1158,7 @@ Java_com_tutpro_baresip_Call_call_1notify_1sipfrag(JNIEnv *env, jobject thiz, jl } JNIEXPORT void JNICALL -Java_com_tutpro_baresip_Call_call_1start_1audio(JNIEnv *env, jobject thiz, jlong call) +Java_com_tutpro_baresip_Api_call_1start_1audio(JNIEnv *env, jobject thiz, jlong call) { LOGD("starting audio of call %ld\n", (long)call); re_thread_enter(); @@ -1168,7 +1168,7 @@ Java_com_tutpro_baresip_Call_call_1start_1audio(JNIEnv *env, jobject thiz, jlong } JNIEXPORT jint JNICALL -Java_com_tutpro_baresip_Call_call_1hold(JNIEnv *env, jobject thiz, jlong call, jboolean hold) +Java_com_tutpro_baresip_Api_call_1hold(JNIEnv *env, jobject thiz, jlong call, jboolean hold) { int err; if (hold) { @@ -1187,13 +1187,13 @@ Java_com_tutpro_baresip_Call_call_1hold(JNIEnv *env, jobject thiz, jlong call, j } JNIEXPORT jboolean JNICALL -Java_com_tutpro_baresip_Call_call_1ismuted(JNIEnv *env, jobject thiz, jlong call) +Java_com_tutpro_baresip_Api_call_1ismuted(JNIEnv *env, jobject thiz, jlong call) { return audio_ismuted(call_audio((struct call *)call)); } JNIEXPORT jint JNICALL -Java_com_tutpro_baresip_Call_call_1transfer(JNIEnv *env, jobject thiz, jlong call, jstring jPeer) +Java_com_tutpro_baresip_Api_call_1transfer(JNIEnv *env, jobject thiz, jlong call, jstring jPeer) { const char *native_peer = (*env)->GetStringUTFChars(env, jPeer, 0); LOGD("transfering call %ld to %s\n", (long)call, native_peer); @@ -1206,7 +1206,7 @@ Java_com_tutpro_baresip_Call_call_1transfer(JNIEnv *env, jobject thiz, jlong cal } JNIEXPORT jint JNICALL -Java_com_tutpro_baresip_Call_call_1send_1digit(JNIEnv *env, jobject thiz, jlong call, jchar digit) +Java_com_tutpro_baresip_Api_call_1send_1digit(JNIEnv *env, jobject thiz, jlong call, jchar digit) { const uint16_t native_digit = digit; LOGD("sending DTMF digit '%c' to call %ld\n", (char)native_digit, (long)call); @@ -1218,7 +1218,7 @@ Java_com_tutpro_baresip_Call_call_1send_1digit(JNIEnv *env, jobject thiz, jlong } JNIEXPORT jstring JNICALL -Java_com_tutpro_baresip_Call_call_1audio_1codecs(JNIEnv *env, jobject thiz, jlong call) +Java_com_tutpro_baresip_Api_call_1audio_1codecs(JNIEnv *env, jobject thiz, jlong call) { const struct aucodec *tx = audio_codec(call_audio((struct call *)call), true); const struct aucodec *rx = audio_codec(call_audio((struct call *)call), false); @@ -1237,14 +1237,14 @@ Java_com_tutpro_baresip_Call_call_1audio_1codecs(JNIEnv *env, jobject thiz, jlon } JNIEXPORT jint JNICALL -Java_com_tutpro_baresip_Call_call_1duration(JNIEnv *env, jobject thiz, jlong call) +Java_com_tutpro_baresip_Api_call_1duration(JNIEnv *env, jobject thiz, jlong call) { int duration = call_duration((struct call *)call); return duration; } JNIEXPORT jstring JNICALL -Java_com_tutpro_baresip_Call_call_1stats(JNIEnv *env, jobject thiz, jlong call, jstring jStream) +Java_com_tutpro_baresip_Api_call_1stats(JNIEnv *env, jobject thiz, jlong call, jstring jStream) { const char *native_stream = (*env)->GetStringUTFChars(env, jStream, 0); const struct stream *s; @@ -1276,19 +1276,19 @@ Java_com_tutpro_baresip_Call_call_1stats(JNIEnv *env, jobject thiz, jlong call, } JNIEXPORT jboolean JNICALL -Java_com_tutpro_baresip_Call_call_1has_1video(JNIEnv *env, jobject thiz, jlong call) +Java_com_tutpro_baresip_Api_call_1has_1video(JNIEnv *env, jobject thiz, jlong call) { return call_has_video((struct call *)call) ? true : false; } JNIEXPORT jboolean JNICALL -Java_com_tutpro_baresip_Call_call_1replaces(JNIEnv *env, jobject thiz, jlong call) +Java_com_tutpro_baresip_Api_call_1replaces(JNIEnv *env, jobject thiz, jlong call) { return call_supported((struct call *)call, REPLACES) ? true : false; } JNIEXPORT jboolean JNICALL -Java_com_tutpro_baresip_Call_call_1replace_1transfer(JNIEnv *env, jobject thiz, jlong xferCall, jlong call) +Java_com_tutpro_baresip_Api_call_1replace_1transfer(JNIEnv *env, jobject thiz, jlong xferCall, jlong call) { re_thread_enter(); int res = call_replace_transfer((struct call *)xferCall, (struct call *)call); diff --git a/app/src/main/kotlin/com/tutpro/baresip/Api.kt b/app/src/main/kotlin/com/tutpro/baresip/Api.kt index 8964680c..c25e20b5 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Api.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Api.kt @@ -59,6 +59,20 @@ object Api { external fun ua_answer(uap: Long, callp: Long, video: Int) external fun ua_debug(uap: Long) + external fun call_connect(callp: Long, peer_uri: String): Int + external fun call_hold(callp: Long, hold: Boolean): Int + external fun call_ismuted(callp: Long): Boolean + external fun call_transfer(callp: Long, peer_uri: String): Int + external fun call_send_digit(callp: Long, digit: Char): Int + external fun call_notify_sipfrag(callp: Long, code: Int, reason: String) + external fun call_start_audio(callp: Long) + external fun call_audio_codecs(callp: Long): String + external fun call_duration(callp: Long): Int + external fun call_stats(callp: Long, stream: String): String + external fun call_has_video(callp: Long): Boolean + external fun call_replaces(callp: Long): Boolean + external fun call_replace_transfer(xfer_callp: Long, callp: Long): Boolean + external fun calls_mute(mute: Boolean) external fun message_send(uap: Long, peer_uri: String, message: String, time: String): Int diff --git a/app/src/main/kotlin/com/tutpro/baresip/Call.kt b/app/src/main/kotlin/com/tutpro/baresip/Call.kt index 200fc336..266b010e 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Call.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Call.kt @@ -25,29 +25,29 @@ class Call(val callp: Long, val ua: UserAgent, val peerUri: String, val dir: Str } fun connect(uri: String): Boolean { - return call_connect(callp, uri) == 0 + return Api.call_connect(callp, uri) == 0 } fun hold(): Boolean { - return call_hold(callp, true) == 0 + return Api.call_hold(callp, true) == 0 } fun resume(): Boolean { - return call_hold(callp, false) == 0 + return Api.call_hold(callp, false) == 0 } fun transfer(uri: String): Boolean { - val err = call_hold(callp, true) + val err = Api.call_hold(callp, true) if (err != 0) return false referTo = uri - return call_transfer(callp, uri) == 0 + return Api.call_transfer(callp, uri) == 0 } fun executeTransfer(): Boolean { return if (this.onHoldCall != null) { - if (call_hold(callp, true) == 0) - call_replace_transfer(this.onHoldCall!!.callp, callp) + if (Api.call_hold(callp, true) == 0) + Api.call_replace_transfer(this.onHoldCall!!.callp, callp) else false } else @@ -55,47 +55,33 @@ class Call(val callp: Long, val ua: UserAgent, val peerUri: String, val dir: Str } fun sendDigit(digit: Char): Int { - return call_send_digit(callp, digit) + return Api.call_send_digit(callp, digit) } fun notifySipfrag(code: Int, reason: String) { - call_notify_sipfrag(callp, code, reason) + Api.call_notify_sipfrag(callp, code, reason) } fun duration(): Int { - return call_duration(callp) + return Api.call_duration(callp) } fun stats(stream: String): String { - return call_stats(callp, stream) + return Api.call_stats(callp, stream) } fun audioCodecs(): String { - return call_audio_codecs(callp) + return Api.call_audio_codecs(callp) } fun replaces(): Boolean { - return call_replaces(callp) + return Api.call_replaces(callp) } init { if (ua.account.mediaEnc != "") security = R.drawable.box_red } - private external fun call_connect(callp: Long, peer_uri: String): Int - private external fun call_hold(callp: Long, hold: Boolean): Int - private external fun call_ismuted(callp: Long): Boolean - private external fun call_transfer(callp: Long, peer_uri: String): Int - private external fun call_send_digit(callp: Long, digit: Char): Int - private external fun call_notify_sipfrag(callp: Long, code: Int, reason: String) - private external fun call_start_audio(callp: Long) - private external fun call_audio_codecs(callp: Long): String - private external fun call_duration(callp: Long): Int - private external fun call_stats(callp: Long, stream: String): String - private external fun call_has_video(callp: Long): Boolean - private external fun call_replaces(callp: Long): Boolean - private external fun call_replace_transfer(xfer_callp: Long, callp: Long): Boolean - companion object { fun calls(): ArrayList {