diff options
Diffstat (limited to 'src/bluetooth/android/jni_android.cpp')
-rw-r--r-- | src/bluetooth/android/jni_android.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/bluetooth/android/jni_android.cpp b/src/bluetooth/android/jni_android.cpp index ce0f19ca..1e907fdd 100644 --- a/src/bluetooth/android/jni_android.cpp +++ b/src/bluetooth/android/jni_android.cpp @@ -47,6 +47,7 @@ #include <QtAndroidExtras/QAndroidJniObject> #include "android/androidbroadcastreceiver_p.h" #include "android/serveracceptancethread_p.h" +#include "android/inputstreamthread_p.h" Q_DECLARE_LOGGING_CATEGORY(QT_BT_ANDROID) @@ -68,6 +69,19 @@ static void QtBluetoothSocketServer_newSocket(JNIEnv */*env*/, jobject /*javaObj reinterpret_cast<ServerAcceptanceThread*>(qtObject)->javaNewSocket(socket); } +static void QtBluetoothInputStreamThread_errorOccurred(JNIEnv */*env*/, jobject /*javaObject*/, + jlong qtObject, jint errorCode) +{ + reinterpret_cast<InputStreamThread*>(qtObject)->javaThreadErrorOccurred(errorCode); +} + +static void QtBluetoothInputStreamThread_readyData(JNIEnv */*env*/, jobject /*javaObject*/, + jlong qtObject, jbyteArray buffer, jint bufferLength) +{ + reinterpret_cast<InputStreamThread*>(qtObject)->javaReadyRead(buffer, bufferLength); +} + + static JNINativeMethod methods[] = { {"jniOnReceive", "(JLandroid/content/Context;Landroid/content/Intent;)V", (void *) QtBroadcastReceiver_jniOnReceive}, @@ -80,6 +94,13 @@ static JNINativeMethod methods_server[] = { (void *) QtBluetoothSocketServer_newSocket}, }; +static JNINativeMethod methods_inputStream[] = { + {"errorOccurred", "(JI)V", + (void *) QtBluetoothInputStreamThread_errorOccurred}, + {"readyData", "(J[BI)V", + (void *) QtBluetoothInputStreamThread_readyData}, +}; + static const char logTag[] = "QtBluetooth"; static const char classErrorMsg[] = "Can't find class \"%s\""; @@ -107,6 +128,13 @@ static bool registerNatives(JNIEnv *env) return false; } + FIND_AND_CHECK_CLASS("org/qtproject/qt5/android/bluetooth/QtBluetoothInputStreamThread"); + if (env->RegisterNatives(clazz, methods_inputStream, + sizeof(methods_inputStream) / sizeof(methods_inputStream[0])) < 0) { + __android_log_print(ANDROID_LOG_FATAL, logTag, "RegisterNatives for InputStreamThread failed"); + return false; + } + return true; } |