4#ifndef LOWENERGYNOTIFICATIONHUB_H
5#define LOWENERGYNOTIFICATIONHUB_H
18#include <QtCore/QObject>
19#include <QtCore/QReadWriteLock>
20#include <QtCore/QJniObject>
21#include <QtBluetooth/QBluetoothAddress>
22#include <QtBluetooth/QLowEnergyController>
23#include <QtBluetooth/QLowEnergyService>
24#include <QtCore/private/qglobal_p.h>
25#include "android/jni_android_p.h"
28#include <QtBluetooth/QLowEnergyCharacteristic>
41 jint errorCode, jint newState);
49 jint errorCode, jstring uuidList);
53 static void lowEnergy_serviceDetailsDiscovered(JNIEnv *, jobject,
59 static void lowEnergy_characteristicRead(JNIEnv*env, jobject, jlong qtObject,
66 static void lowEnergy_descriptorRead(JNIEnv *env, jobject, jlong qtObject,
72 jint charHandle, jbyteArray data,
77 static void lowEnergy_descriptorWritten(JNIEnv *, jobject, jlong qtObject,
83 static void lowEnergy_serverDescriptorWritten(JNIEnv *, jobject, jlong qtObject,
89 static void lowEnergy_characteristicChanged(JNIEnv *, jobject, jlong qtObject,
94 static void lowEnergy_serverCharacteristicChanged(JNIEnv *, jobject, jlong qtObject,
100 static void lowEnergy_serviceError(JNIEnv *, jobject, jlong qtObject,
108 static void lowEnergy_remoteRssiRead(JNIEnv *, jobject, jlong qtObject,
int rssi,
124 int startHandle,
int endHandle);
126 int handle,
const QBluetoothUuid &charUuid,
127 int properties,
const QByteArray &data);
128 void descriptorRead(
const QBluetoothUuid &serviceUuid,
const QBluetoothUuid &charUuid,
129 int handle,
const QBluetoothUuid &descUuid,
const QByteArray &data);
131 QLowEnergyService::ServiceError errorCode);
133 QLowEnergyService::ServiceError errorCode);
137 void serviceError(
int attributeHandle, QLowEnergyService::ServiceError errorCode);
141 static QReadWriteLock lock;
143 QJniObject jBluetoothLe;
QT_BEGIN_NAMESPACE void QtBroadcastReceiver_jniOnReceive(JNIEnv *, jobject, jlong, QtJniTypes::Context, QtJniTypes::Intent)
#define FIND_AND_CHECK_CLASS(CLASS_NAME)
friend void QtBluetoothLE_leScanResult(JNIEnv *, jobject, jlong, QtJniTypes::BluetoothDevice, jint, jbyteArray)
void serviceDetailsDiscoveryFinished(const QString &serviceUuid, int startHandle, int endHandle)
static void lowEnergy_advertisementError(JNIEnv *, jobject, jlong qtObject, jint status)
jlong QtJniTypes::BluetoothGattDescriptor descriptor
jlong QtJniTypes::BluetoothGattCharacteristic jbyteArray newValue
jlong jstring serviceUuid
jlong QtJniTypes::BluetoothGattCharacteristic characteristic
jlong jstring jstring jint jstring jbyteArray data
void characteristicRead(const QBluetoothUuid &serviceUuid, int handle, const QBluetoothUuid &charUuid, int properties, const QByteArray &data)
jlong jstring jstring jint jstring dUuid
void servicesDiscovered(QLowEnergyController::Error errorCode, const QString &uuids)
jlong jstring jint jstring jint properties
jlong jstring jstring jint handle
jlong jint attributeHandle
void serverCharacteristicChanged(const QJniObject &characteristic, const QByteArray &newValue)
void serviceError(int attributeHandle, QLowEnergyService::ServiceError errorCode)
Q_DECLARE_JNI_NATIVE_METHOD_IN_CURRENT_SCOPE(lowEnergy_connectionChange, leConnectionStateChange) static void lowEnergy_mtuChanged(JNIEnv *
static void lowEnergy_connectionChange(JNIEnv *, jobject, jlong qtObject, jint errorCode, jint newState)
static void lowEnergy_characteristicWritten(JNIEnv *, jobject, jlong qtObject, jint charHandle, jbyteArray data, jint errorCode)
jlong jstring jint jstring charUuid
void serverDescriptorWritten(const QJniObject &descriptor, const QByteArray &newValue)
~LowEnergyNotificationHub()
void characteristicChanged(int charHandle, const QByteArray &data)
jlong jstring jint jstring jint jbyteArray data
jlong QtJniTypes::BluetoothGattDescriptor jbyteArray newValue
jlong jstring jint jint endHandle
jlong jstring jstring cUuid
void descriptorRead(const QBluetoothUuid &serviceUuid, const QBluetoothUuid &charUuid, int handle, const QBluetoothUuid &descUuid, const QByteArray &data)
void remoteRssiRead(int rssi, bool success)
void characteristicWritten(int charHandle, const QByteArray &data, QLowEnergyService::ServiceError errorCode)
jlong jstring jint startHandle
static void lowEnergy_servicesDiscovered(JNIEnv *, jobject, jlong qtObject, jint errorCode, jstring uuidList)
void descriptorWritten(int descHandle, const QByteArray &data, QLowEnergyService::ServiceError errorCode)
jlong jint jbyteArray jint errorCode
jlong jstring jint handle
void advertisementError(int status)
QJniObject nextPendingConnection()
void setServiceDetails(const QBluetoothUuid &uuid, const QString &serviceName, QBluetooth::SecurityFlags securityFlags)
void errorOccurred(QBluetoothServer::Error)
void javaNewSocket(jobject socket)
bool hasPendingConnections() const
void javaThreadErrorOccurred(int errorCode)
~ServerAcceptanceThread()
void setMaxPendingConnections(int maximumCount)
#define LEHUB_SCOPED_METHOD(Method)
static const char classErrorMsg[]
static const char logTag[]
static void QtBluetoothInputStreamThread_errorOccurred(JNIEnv *, jobject, jlong qtObject, jint errorCode)
static void QtBluetoothInputStreamThread_readyData(JNIEnv *, jobject, jlong qtObject, jbyteArray buffer, jint bufferLength)
static void QtBluetoothSocketServer_newSocket(JNIEnv *, jobject, jlong qtObject, QtJniTypes::BluetoothSocket socket)
static void QtBluetoothSocketServer_errorOccurred(JNIEnv *, jobject, jlong qtObject, jint errorCode)
static bool registerNatives()
QString valueFromStaticFieldCache(const char *key, const char *className, const char *fieldName)
Combined button and popup list for selecting options.