Moved all API function definitions to Api object
This commit is contained in:
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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<Call> {
|
||||
|
||||
Reference in New Issue
Block a user