diff --git a/src/controller/java/AndroidDeviceControllerWrapper.cpp b/src/controller/java/AndroidDeviceControllerWrapper.cpp index 5128d05456dde6..9d6e84d684afd1 100644 --- a/src/controller/java/AndroidDeviceControllerWrapper.cpp +++ b/src/controller/java/AndroidDeviceControllerWrapper.cpp @@ -25,7 +25,7 @@ #include #include -using chip::Controller::DeviceCommissioner; +using namespace chip::Controller; extern chip::Ble::BleLayer * GetJNIBleLayer(); @@ -33,7 +33,7 @@ AndroidDeviceControllerWrapper::~AndroidDeviceControllerWrapper() { if ((mJavaVM != nullptr) && (mJavaObjectRef != nullptr)) { - JniReferences::GetEnvForCurrentThread()->DeleteGlobalRef(mJavaObjectRef); + JniReferences::GetInstance().GetEnvForCurrentThread()->DeleteGlobalRef(mJavaObjectRef); } mController->Shutdown(); } @@ -41,12 +41,13 @@ AndroidDeviceControllerWrapper::~AndroidDeviceControllerWrapper() void AndroidDeviceControllerWrapper::SetJavaObjectRef(JavaVM * vm, jobject obj) { mJavaVM = vm; - mJavaObjectRef = JniReferences::GetEnvForCurrentThread()->NewGlobalRef(obj); + mJavaObjectRef = JniReferences::GetInstance().GetEnvForCurrentThread()->NewGlobalRef(obj); } void AndroidDeviceControllerWrapper::CallJavaMethod(const char * methodName, jint argument) { - CallVoidInt(JniReferences::GetEnvForCurrentThread(), mJavaObjectRef, methodName, argument); + JniReferences::GetInstance().CallVoidInt(JniReferences::GetInstance().GetEnvForCurrentThread(), mJavaObjectRef, methodName, + argument); } AndroidDeviceControllerWrapper * AndroidDeviceControllerWrapper::AllocateNew(JavaVM * vm, jobject deviceControllerObj, diff --git a/src/controller/java/AndroidKeyValueStoreManagerImpl.cpp b/src/controller/java/AndroidKeyValueStoreManagerImpl.cpp index 253834dd9994d1..6c67e05927e04b 100644 --- a/src/controller/java/AndroidKeyValueStoreManagerImpl.cpp +++ b/src/controller/java/AndroidKeyValueStoreManagerImpl.cpp @@ -28,6 +28,8 @@ #include #include +using namespace chip::Controller; + namespace chip { namespace DeviceLayer { namespace PersistedStorage { @@ -47,7 +49,7 @@ CHIP_ERROR KeyValueStoreManagerImpl::_Get(const char * key, void * value, size_t ReturnErrorCodeIf(mGetMethod == nullptr, CHIP_ERROR_INCORRECT_STATE); ReturnErrorCodeIf(offset != 0, CHIP_ERROR_INVALID_ARGUMENT); - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); ReturnErrorCodeIf(env == nullptr, CHIP_ERROR_INTERNAL); UtfString javaKey(env, key); @@ -100,7 +102,7 @@ CHIP_ERROR KeyValueStoreManagerImpl::_Delete(const char * key) ReturnErrorCodeIf(mKeyValueStoreManagerClass == nullptr, CHIP_ERROR_INCORRECT_STATE); ReturnErrorCodeIf(mDeleteMethod == nullptr, CHIP_ERROR_INCORRECT_STATE); - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); ReturnErrorCodeIf(env == nullptr, CHIP_ERROR_INTERNAL); UtfString javaKey(env, key); @@ -124,7 +126,7 @@ CHIP_ERROR KeyValueStoreManagerImpl::_Put(const char * key, const void * value, ReturnErrorCodeIf(mSetMethod == nullptr, CHIP_ERROR_INCORRECT_STATE); ReturnErrorCodeIf(value_size > kMaxKvsValueBytes, CHIP_ERROR_INVALID_ARGUMENT); - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); ReturnErrorCodeIf(env == nullptr, CHIP_ERROR_INTERNAL); std::unique_ptr buffer(new char[BASE64_ENCODED_LEN(value_size) + 1]); @@ -152,7 +154,8 @@ void KeyValueStoreManagerImpl::InitializeMethodForward(JavaVM * vm, JNIEnv * env { mJvm = vm; - CHIP_ERROR err = GetClassRef(env, "chip/devicecontroller/KeyValueStoreManager", mKeyValueStoreManagerClass); + CHIP_ERROR err = + JniReferences::GetInstance().GetClassRef(env, "chip/devicecontroller/KeyValueStoreManager", mKeyValueStoreManagerClass); if (err != CHIP_NO_ERROR) { ChipLogError(DeviceLayer, "Failed to get reference to KeyValueStoreManager"); diff --git a/src/controller/java/CHIPDeviceController-JNI.cpp b/src/controller/java/CHIPDeviceController-JNI.cpp index 957361720891e4..52a677a2a8192b 100644 --- a/src/controller/java/CHIPDeviceController-JNI.cpp +++ b/src/controller/java/CHIPDeviceController-JNI.cpp @@ -134,11 +134,11 @@ jint JNI_OnLoad(JavaVM * jvm, void * reserved) chip::Platform::MemoryInit(); // Save a reference to the JVM. Will need this to call back into Java. - JniReferences::SetJavaVm(jvm); + JniReferences::GetInstance().SetJavaVm(jvm); sJVM = jvm; // Get a JNI environment object. - env = JniReferences::GetEnvForCurrentThread(); + env = JniReferences::GetInstance().GetEnvForCurrentThread(); VerifyOrExit(env != NULL, err = CHIP_JNI_ERROR_NO_ENV); chip::DeviceLayer::PersistedStorage::KeyValueStoreMgrImpl().InitializeMethodForward(sJVM, env); @@ -146,9 +146,10 @@ jint JNI_OnLoad(JavaVM * jvm, void * reserved) ChipLogProgress(Controller, "Loading Java class references."); // Get various class references need by the API. - err = GetClassRef(env, "chip/devicecontroller/AndroidChipStack", sAndroidChipStackCls); + err = JniReferences::GetInstance().GetClassRef(env, "chip/devicecontroller/AndroidChipStack", sAndroidChipStackCls); SuccessOrExit(err); - err = GetClassRef(env, "chip/devicecontroller/ChipDeviceControllerException", sChipDeviceControllerExceptionCls); + err = JniReferences::GetInstance().GetClassRef(env, "chip/devicecontroller/ChipDeviceControllerException", + sChipDeviceControllerExceptionCls); SuccessOrExit(err); ChipLogProgress(Controller, "Java class references loaded."); @@ -192,7 +193,7 @@ jint JNI_OnLoad(JavaVM * jvm, void * reserved) if (err != CHIP_NO_ERROR) { ThrowError(env, err); - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); JNI_OnUnload(jvm, reserved); } @@ -201,7 +202,7 @@ jint JNI_OnLoad(JavaVM * jvm, void * reserved) void JNI_OnUnload(JavaVM * jvm, void * reserved) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ChipLogProgress(Controller, "JNI_OnUnload() called"); // If the IO thread has been started, shut it down and wait for it to exit. @@ -210,7 +211,7 @@ void JNI_OnUnload(JavaVM * jvm, void * reserved) sShutdown = true; sSystemLayer.WakeIOThread(); - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); pthread_join(sIOThread, NULL); } @@ -227,15 +228,15 @@ void JNI_OnUnload(JavaVM * jvm, void * reserved) JNI_METHOD(jlong, newDeviceController)(JNIEnv * env, jobject self) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AndroidDeviceControllerWrapper * wrapper = NULL; long result = 0; ChipLogProgress(Controller, "newDeviceController() called"); - wrapper = AndroidDeviceControllerWrapper::AllocateNew(sJVM, self, JniReferences::GetStackLock(), kLocalDeviceId, &sSystemLayer, - &sInetLayer, &err); + wrapper = AndroidDeviceControllerWrapper::AllocateNew(sJVM, self, JniReferences::GetInstance().GetStackLock(), kLocalDeviceId, + &sSystemLayer, &sInetLayer, &err); SuccessOrExit(err); result = wrapper->ToJNIHandle(); @@ -259,7 +260,7 @@ JNI_METHOD(jlong, newDeviceController)(JNIEnv * env, jobject self) JNI_METHOD(void, pairDevice)(JNIEnv * env, jobject self, jlong handle, jlong deviceId, jint connObj, jlong pinCode) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AndroidDeviceControllerWrapper * wrapper = AndroidDeviceControllerWrapper::FromJNIHandle(handle); @@ -282,7 +283,7 @@ JNI_METHOD(void, pairDevice)(JNIEnv * env, jobject self, jlong handle, jlong dev JNI_METHOD(void, unpairDevice)(JNIEnv * env, jobject self, jlong handle, jlong deviceId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AndroidDeviceControllerWrapper * wrapper = AndroidDeviceControllerWrapper::FromJNIHandle(handle); @@ -299,7 +300,7 @@ JNI_METHOD(void, unpairDevice)(JNIEnv * env, jobject self, jlong handle, jlong d JNI_METHOD(void, stopDevicePairing)(JNIEnv * env, jobject self, jlong handle, jlong deviceId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AndroidDeviceControllerWrapper * wrapper = AndroidDeviceControllerWrapper::FromJNIHandle(handle); @@ -316,7 +317,7 @@ JNI_METHOD(void, stopDevicePairing)(JNIEnv * env, jobject self, jlong handle, jl JNI_METHOD(jlong, getDevicePointer)(JNIEnv * env, jobject self, jlong handle, jlong deviceId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); Device * chipDevice = nullptr; ChipLogProgress(Controller, "getDevicePointer() called with device ID"); @@ -329,7 +330,7 @@ JNI_METHOD(jlong, getDevicePointer)(JNIEnv * env, jobject self, jlong handle, jl JNI_METHOD(void, pairTestDeviceWithoutSecurity)(JNIEnv * env, jobject self, jlong handle, jstring deviceAddr) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AndroidDeviceControllerWrapper * wrapper = AndroidDeviceControllerWrapper::FromJNIHandle(handle); chip::Inet::IPAddress deviceIPAddr; @@ -353,7 +354,7 @@ JNI_METHOD(void, pairTestDeviceWithoutSecurity)(JNIEnv * env, jobject self, jlon JNI_METHOD(void, disconnectDevice)(JNIEnv * env, jobject self, jlong handle, jlong deviceId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); AndroidDeviceControllerWrapper * wrapper = AndroidDeviceControllerWrapper::FromJNIHandle(handle); CHIP_ERROR err = CHIP_NO_ERROR; Device * chipDevice = nullptr; @@ -373,7 +374,7 @@ JNI_METHOD(void, disconnectDevice)(JNIEnv * env, jobject self, jlong handle, jlo JNI_METHOD(jboolean, isActive)(JNIEnv * env, jobject self, jlong handle) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); Device * chipDevice = reinterpret_cast(handle); return chipDevice->IsActive(); @@ -395,7 +396,7 @@ void GetCHIPDevice(JNIEnv * env, long wrapperHandle, uint64_t deviceId, Device * JNI_METHOD(jstring, getIpAddress)(JNIEnv * env, jobject self, jlong handle, jlong deviceId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); Device * chipDevice = nullptr; GetCHIPDevice(env, handle, deviceId, &chipDevice); @@ -413,7 +414,7 @@ JNI_METHOD(jstring, getIpAddress)(JNIEnv * env, jobject self, jlong handle, jlon JNI_METHOD(void, updateAddress)(JNIEnv * env, jobject self, jlong handle, jlong deviceId, jstring address, jint port) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); Device * chipDevice = nullptr; CHIP_ERROR err = CHIP_NO_ERROR; @@ -436,7 +437,7 @@ JNI_METHOD(void, updateAddress)(JNIEnv * env, jobject self, jlong handle, jlong JNI_METHOD(void, sendMessage)(JNIEnv * env, jobject self, jlong handle, jlong deviceId, jstring messageObj) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; Device * chipDevice = nullptr; @@ -472,7 +473,7 @@ JNI_METHOD(void, sendMessage)(JNIEnv * env, jobject self, jlong handle, jlong de JNI_METHOD(void, sendCommand)(JNIEnv * env, jobject self, jlong handle, jlong deviceId, jobject commandObj, jint aValue) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; Device * chipDevice = nullptr; @@ -591,7 +592,7 @@ JNI_METHOD(void, enableThreadNetwork) { auto ctx = std::make_unique(env, handle, deviceId, ByteSpan(extPanId, sizeof(extPanId))); - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); NetworkCommissioningCluster cluster; cluster.Associate(chipDevice, kNodeEndpoint); SuccessOrExit(err = cluster.AddThreadNetwork(ctx->mOnAddNetwork.Cancel(), ctx->mOnCommissioningFailed.Cancel(), @@ -609,7 +610,7 @@ JNI_METHOD(void, enableThreadNetwork) JNI_METHOD(jboolean, openPairingWindow)(JNIEnv * env, jobject self, jlong handle, jlong deviceId, jint duration) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; Device * chipDevice = nullptr; chip::SetupPayload setupPayload; @@ -644,7 +645,7 @@ static bool JavaBytesToUUID(JNIEnv * env, jbyteArray value, chip::Ble::ChipBleUU JNI_ANDROID_CHIP_STACK_METHOD(void, handleIndicationReceived) (JNIEnv * env, jobject self, jint conn, jbyteArray svcId, jbyteArray charId, jbyteArray value) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BLE_CONNECTION_OBJECT const connObj = reinterpret_cast(conn); const auto valueBegin = env->GetByteArrayElements(value, nullptr); const auto valueLength = env->GetArrayLength(value); @@ -669,7 +670,7 @@ JNI_ANDROID_CHIP_STACK_METHOD(void, handleIndicationReceived) JNI_ANDROID_CHIP_STACK_METHOD(void, handleWriteConfirmation) (JNIEnv * env, jobject self, jint conn, jbyteArray svcId, jbyteArray charId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BLE_CONNECTION_OBJECT const connObj = reinterpret_cast(conn); chip::Ble::ChipBleUUID svcUUID; @@ -685,7 +686,7 @@ JNI_ANDROID_CHIP_STACK_METHOD(void, handleWriteConfirmation) JNI_ANDROID_CHIP_STACK_METHOD(void, handleSubscribeComplete) (JNIEnv * env, jobject self, jint conn, jbyteArray svcId, jbyteArray charId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BLE_CONNECTION_OBJECT const connObj = reinterpret_cast(conn); chip::Ble::ChipBleUUID svcUUID; @@ -701,7 +702,7 @@ JNI_ANDROID_CHIP_STACK_METHOD(void, handleSubscribeComplete) JNI_ANDROID_CHIP_STACK_METHOD(void, handleUnsubscribeComplete) (JNIEnv * env, jobject self, jint conn, jbyteArray svcId, jbyteArray charId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BLE_CONNECTION_OBJECT const connObj = reinterpret_cast(conn); chip::Ble::ChipBleUUID svcUUID; @@ -716,7 +717,7 @@ JNI_ANDROID_CHIP_STACK_METHOD(void, handleUnsubscribeComplete) JNI_ANDROID_CHIP_STACK_METHOD(void, handleConnectionError)(JNIEnv * env, jobject self, jint conn) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BLE_CONNECTION_OBJECT const connObj = reinterpret_cast(conn); sBleLayer.HandleConnectionError(connObj, BLE_ERROR_APP_CLOSED_CONNECTION); @@ -724,7 +725,7 @@ JNI_ANDROID_CHIP_STACK_METHOD(void, handleConnectionError)(JNIEnv * env, jobject JNI_METHOD(void, deleteDeviceController)(JNIEnv * env, jobject self, jlong handle) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); AndroidDeviceControllerWrapper * wrapper = AndroidDeviceControllerWrapper::FromJNIHandle(handle); ChipLogProgress(Controller, "deleteDeviceController() called"); @@ -738,7 +739,7 @@ JNI_METHOD(void, deleteDeviceController)(JNIEnv * env, jobject self, jlong handl void HandleNotifyChipConnectionClosed(BLE_CONNECTION_OBJECT connObj) { CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jmethodID method; intptr_t tmpConnObj; @@ -753,7 +754,7 @@ void HandleNotifyChipConnectionClosed(BLE_CONNECTION_OBJECT connObj) env->ExceptionClear(); tmpConnObj = reinterpret_cast(connObj); { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); env->CallStaticVoidMethod(sAndroidChipStackCls, method, static_cast(tmpConnObj)); } VerifyOrExit(!env->ExceptionCheck(), err = CHIP_JNI_ERROR_EXCEPTION_THROWN); @@ -770,7 +771,7 @@ bool HandleSendCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_t * svc const uint8_t * characteristicData, uint32_t characteristicDataLen) { CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jbyteArray svcIdObj; jbyteArray charIdObj; jbyteArray characteristicDataObj; @@ -798,7 +799,7 @@ bool HandleSendCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_t * svc env->ExceptionClear(); tmpConnObj = reinterpret_cast(connObj); { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); rc = (bool) env->CallStaticBooleanMethod(sAndroidChipStackCls, method, static_cast(tmpConnObj), svcIdObj, charIdObj, characteristicDataObj); } @@ -818,7 +819,7 @@ bool HandleSendCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_t * svc bool HandleSubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_t * svcId, const uint8_t * charId) { CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jbyteArray svcIdObj; jbyteArray charIdObj; jmethodID method; @@ -835,7 +836,7 @@ bool HandleSubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_t SuccessOrExit(err); { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); method = env->GetStaticMethodID(sAndroidChipStackCls, "onSubscribeCharacteristic", "(I[B[B)Z"); } VerifyOrExit(method != NULL, err = CHIP_JNI_ERROR_METHOD_NOT_FOUND); @@ -861,7 +862,7 @@ bool HandleSubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_t bool HandleUnsubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_t * svcId, const uint8_t * charId) { CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jbyteArray svcIdObj; jbyteArray charIdObj; jmethodID method; @@ -885,7 +886,7 @@ bool HandleUnsubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_ env->ExceptionClear(); tmpConnObj = reinterpret_cast(connObj); { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); rc = (bool) env->CallStaticBooleanMethod(sAndroidChipStackCls, method, static_cast(tmpConnObj), svcIdObj, charIdObj); } VerifyOrExit(!env->ExceptionCheck(), err = CHIP_JNI_ERROR_EXCEPTION_THROWN); @@ -904,7 +905,7 @@ bool HandleUnsubscribeCharacteristic(BLE_CONNECTION_OBJECT connObj, const uint8_ bool HandleCloseConnection(BLE_CONNECTION_OBJECT connObj) { CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jmethodID method; intptr_t tmpConnObj; bool rc = false; @@ -920,7 +921,7 @@ bool HandleCloseConnection(BLE_CONNECTION_OBJECT connObj) env->ExceptionClear(); tmpConnObj = reinterpret_cast(connObj); { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); rc = (bool) env->CallStaticBooleanMethod(sAndroidChipStackCls, method, static_cast(tmpConnObj)); } VerifyOrExit(!env->ExceptionCheck(), err = CHIP_JNI_ERROR_EXCEPTION_THROWN); @@ -938,7 +939,7 @@ bool HandleCloseConnection(BLE_CONNECTION_OBJECT connObj) uint16_t HandleGetMTU(BLE_CONNECTION_OBJECT connObj) { CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jmethodID method; intptr_t tmpConnObj; uint16_t mtu = 0; @@ -947,7 +948,7 @@ uint16_t HandleGetMTU(BLE_CONNECTION_OBJECT connObj) VerifyOrExit(env != NULL, err = CHIP_JNI_ERROR_NO_ENV); { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); method = env->GetStaticMethodID(sAndroidChipStackCls, "onGetMTU", "(I)I"); } VerifyOrExit(method != NULL, err = CHIP_JNI_ERROR_METHOD_NOT_FOUND); @@ -973,7 +974,7 @@ uint16_t HandleGetMTU(BLE_CONNECTION_OBJECT connObj) void HandleNewConnection(void * appState, const uint16_t discriminator) { CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jmethodID method; jclass deviceControllerCls; AndroidDeviceControllerWrapper * wrapper = reinterpret_cast(appState); @@ -992,7 +993,7 @@ void HandleNewConnection(void * appState, const uint16_t discriminator) env->ExceptionClear(); { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); env->CallVoidMethod(self, method); } VerifyOrExit(!env->ExceptionCheck(), err = CHIP_JNI_ERROR_EXCEPTION_THROWN); @@ -1027,7 +1028,7 @@ void * IOThreadMain(void * arg) ChipLogProgress(Controller, "IO thread starting"); // Lock the stack to prevent collisions with Java threads. - pthread_mutex_lock(JniReferences::GetStackLock()); + pthread_mutex_lock(JniReferences::GetInstance().GetStackLock()); System::WatchableEventManager & watchState = sSystemLayer.WatchableEvents(); watchState.EventLoopBegins(); @@ -1039,7 +1040,7 @@ void * IOThreadMain(void * arg) watchState.PrepareEvents(); // Unlock the stack so that Java threads can make API calls. - pthread_mutex_unlock(JniReferences::GetStackLock()); + pthread_mutex_unlock(JniReferences::GetInstance().GetStackLock()); watchState.WaitForEvents(); @@ -1048,7 +1049,7 @@ void * IOThreadMain(void * arg) // break; // Re-lock the stack. - pthread_mutex_lock(JniReferences::GetStackLock()); + pthread_mutex_lock(JniReferences::GetInstance().GetStackLock()); watchState.HandleEvents(); } diff --git a/src/controller/java/JniReferences.cpp b/src/controller/java/JniReferences.cpp index ab4b62f77fb1f1..e2e3bade657b2f 100644 --- a/src/controller/java/JniReferences.cpp +++ b/src/controller/java/JniReferences.cpp @@ -21,37 +21,49 @@ #include -pthread_mutex_t JniReferences::sStackLock = PTHREAD_MUTEX_INITIALIZER; -JavaVM * JniReferences::sJvm = nullptr; -jclass JniReferences::sClusterExceptionCls = nullptr; +namespace chip { +namespace Controller { -void JniReferences::SetJavaVm(JavaVM * jvm) +pthread_mutex_t * JniReferences::GetStackLock() { - CHIP_ERROR err = CHIP_NO_ERROR; - sJvm = jvm; - JNIEnv * env = GetEnvForCurrentThread(); + return &mStackLock; +} - VerifyOrReturn(env != NULL, ChipLogError(Controller, "Could not get JNI env for current thread")); - err = GetClassRef(env, "chip/devicecontroller/ChipClusterException", sClusterExceptionCls); - VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Controller, "Could not find ChipClusterException class")); +void JniReferences::SetJavaVm(JavaVM * jvm) +{ + VerifyOrReturn(mJvm == nullptr, ChipLogError(Controller, "JavaVM is already set")); + mJvm = jvm; + + // Cache the classloader for CHIP Java classes. env->FindClass() can start in the system class loader if called from a different + // thread, meaning it won't find our Chip classes. + // https://developer.android.com/training/articles/perf-jni#faq_FindClass + JNIEnv * env = GetEnvForCurrentThread(); + // Any chip.devicecontroller.* class will work here - just need something to call getClassLoader() on. + jclass chipClass = env->FindClass("chip/devicecontroller/ChipDeviceController"); + jclass classClass = env->FindClass("java/lang/Class"); + jclass classLoaderClass = env->FindClass("java/lang/ClassLoader"); + jmethodID getClassLoaderMethod = env->GetMethodID(classClass, "getClassLoader", "()Ljava/lang/ClassLoader;"); + + mClassLoader = env->NewGlobalRef(env->CallObjectMethod(chipClass, getClassLoaderMethod)); + mFindClassMethod = env->GetMethodID(classLoaderClass, "findClass", "(Ljava/lang/String;)Ljava/lang/Class;"); } JNIEnv * JniReferences::GetEnvForCurrentThread() { JNIEnv * env; - if (sJvm == NULL) + if (mJvm == nullptr) { ChipLogError(Controller, "Missing Java VM"); return nullptr; } - sJvm->GetEnv((void **) &env, JNI_VERSION_1_6); - if (env == NULL) + mJvm->GetEnv((void **) &env, JNI_VERSION_1_6); + if (env == nullptr) { jint error; #ifdef __ANDROID__ - error = sJvm->AttachCurrentThreadAsDaemon(&env, NULL); + error = mJvm->AttachCurrentThreadAsDaemon(&env, nullptr); #else - error = sJvm->AttachCurrentThreadAsDaemon((void **) &env, NULL); + error = mJvm->AttachCurrentThreadAsDaemon((void **) &env, nullptr); #endif if (error != JNI_OK) { @@ -62,52 +74,57 @@ JNIEnv * JniReferences::GetEnvForCurrentThread() return env; } -CHIP_ERROR GetClassRef(JNIEnv * env, const char * clsType, jclass & outCls) +CHIP_ERROR JniReferences::GetClassRef(JNIEnv * env, const char * clsType, jclass & outCls) { CHIP_ERROR err = CHIP_NO_ERROR; - jclass cls = NULL; + jclass cls = nullptr; cls = env->FindClass(clsType); - VerifyOrExit(cls != NULL, err = CHIP_JNI_ERROR_TYPE_NOT_FOUND); + env->ExceptionClear(); + + if (cls == nullptr) + { + // Try the cached classloader if FindClass() didn't work. + cls = static_cast(env->CallObjectMethod(mClassLoader, mFindClassMethod, env->NewStringUTF(clsType))); + VerifyOrReturnError(cls != nullptr && env->ExceptionCheck() != JNI_TRUE, CHIP_JNI_ERROR_TYPE_NOT_FOUND); + } outCls = (jclass) env->NewGlobalRef((jobject) cls); - VerifyOrExit(outCls != NULL, err = CHIP_JNI_ERROR_TYPE_NOT_FOUND); + VerifyOrReturnError(outCls != nullptr, CHIP_JNI_ERROR_TYPE_NOT_FOUND); -exit: - env->DeleteLocalRef(cls); return err; } -CHIP_ERROR FindMethod(JNIEnv * env, jobject object, const char * methodName, const char * methodSignature, jmethodID * methodId) +CHIP_ERROR JniReferences::FindMethod(JNIEnv * env, jobject object, const char * methodName, const char * methodSignature, + jmethodID * methodId) { CHIP_ERROR err = CHIP_NO_ERROR; - jclass javaClass = NULL; - VerifyOrExit(env != nullptr && object != nullptr, err = CHIP_JNI_ERROR_NULL_OBJECT); + jclass javaClass = nullptr; + VerifyOrReturnError(env != nullptr && object != nullptr, CHIP_JNI_ERROR_NULL_OBJECT); javaClass = env->GetObjectClass(object); - VerifyOrExit(javaClass != NULL, err = CHIP_JNI_ERROR_TYPE_NOT_FOUND); + VerifyOrReturnError(javaClass != nullptr, CHIP_JNI_ERROR_TYPE_NOT_FOUND); *methodId = env->GetMethodID(javaClass, methodName, methodSignature); - VerifyOrExit(*methodId != NULL, err = CHIP_JNI_ERROR_METHOD_NOT_FOUND); + VerifyOrReturnError(*methodId != nullptr, CHIP_JNI_ERROR_METHOD_NOT_FOUND); -exit: return err; } -void CallVoidInt(JNIEnv * env, jobject object, const char * methodName, jint argument) +void JniReferences::CallVoidInt(JNIEnv * env, jobject object, const char * methodName, jint argument) { CHIP_ERROR err = CHIP_NO_ERROR; jmethodID method; - err = FindMethod(env, object, methodName, "(I)V", &method); - SuccessOrExit(err); - - env->ExceptionClear(); - env->CallVoidMethod(object, method, argument); - -exit: + err = JniReferences::FindMethod(env, object, methodName, "(I)V", &method); if (err != CHIP_NO_ERROR) { - ChipLogError(Controller, "Error calling Java method: %d", err); + ChipLogError(Controller, "Error finding Java method: %d", err); } + + env->ExceptionClear(); + env->CallVoidMethod(object, method, argument); } + +} // namespace Controller +} // namespace chip diff --git a/src/controller/java/JniReferences.h b/src/controller/java/JniReferences.h index bc9fd06295b547..91b2d70c5463ba 100644 --- a/src/controller/java/JniReferences.h +++ b/src/controller/java/JniReferences.h @@ -22,24 +22,65 @@ #include #include +namespace chip { +namespace Controller { class JniReferences { public: - static pthread_mutex_t * GetStackLock() { return &sStackLock; } + // No copy, move or assignment. + JniReferences(const JniReferences &) = delete; + JniReferences(const JniReferences &&) = delete; + JniReferences & operator=(const JniReferences &) = delete; - static void SetJavaVm(JavaVM * jvm); + static JniReferences & GetInstance() + { + static JniReferences jniReferences; + return jniReferences; + } - static JNIEnv * GetEnvForCurrentThread(); + /** + * Returns a stack lock to be shared by all controller JNI code. + */ + pthread_mutex_t * GetStackLock(); - static jclass GetClusterExceptionCls() { return sClusterExceptionCls; } + /** + * Set the JavaVM. + * + * This must be called before GetEnvForCurrentThread() or GetClassRef(). + */ + void SetJavaVm(JavaVM * jvm); + + /** + * Returns a JNIEnv for the current thread. + * + * This must be called after SetJavaVm(). If the current thread is not attached to the JVM, this method will attach the thread + * first, then retrieve the JNIEnv. + */ + JNIEnv * GetEnvForCurrentThread(); + + /** + * @brief + * Creates a jclass reference to the given class type. + * + * This must be called after SetJavaVm(). + * + * @param[in] env The JNIEnv for finding a Java class and creating a new Java reference. + * @param[in] clsType The fully-qualified Java class name to find, e.g. java/lang/IllegalStateException. + * @param[out] outCls A Java reference to the class matching clsType. + */ + CHIP_ERROR GetClassRef(JNIEnv * env, const char * clsType, jclass & outCls); + CHIP_ERROR FindMethod(JNIEnv * env, jobject object, const char * methodName, const char * methodSignature, + jmethodID * methodId); + void CallVoidInt(JNIEnv * env, jobject object, const char * methodName, jint argument); private: - static pthread_mutex_t sStackLock; - static JavaVM * sJvm; - static jclass sClusterExceptionCls; + JniReferences() {} + + pthread_mutex_t mStackLock = PTHREAD_MUTEX_INITIALIZER; + JavaVM * mJvm = nullptr; + jobject mClassLoader = nullptr; + jmethodID mFindClassMethod = nullptr; }; -jclass GetClusterExceptionCls(); -CHIP_ERROR GetClassRef(JNIEnv * env, const char * clsType, jclass & outCls); -CHIP_ERROR FindMethod(JNIEnv * env, jobject object, const char * methodName, const char * methodSignature, jmethodID * methodId); -void CallVoidInt(JNIEnv * env, jobject object, const char * methodName, jint argument); +} // namespace Controller +} // namespace chip diff --git a/src/controller/java/gen/CHIPClusters-JNI.cpp b/src/controller/java/gen/CHIPClusters-JNI.cpp index 4fda9e2826f3c2..81029ce4b34712 100644 --- a/src/controller/java/gen/CHIPClusters-JNI.cpp +++ b/src/controller/java/gen/CHIPClusters-JNI.cpp @@ -42,14 +42,17 @@ CHIP_ERROR CreateChipClusterException(JNIEnv * env, jint errorCode, jthrowable & { CHIP_ERROR err = CHIP_NO_ERROR; jmethodID exceptionConstructor; + jclass clusterExceptionCls; - exceptionConstructor = env->GetMethodID(JniReferences::GetClusterExceptionCls(), "", "(I)V"); - VerifyOrExit(exceptionConstructor != nullptr, err = CHIP_JNI_ERROR_TYPE_NOT_FOUND); + err = JniReferences::GetInstance().GetClassRef(env, "chip/devicecontroller/ChipClusterException", clusterExceptionCls); + VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_JNI_ERROR_TYPE_NOT_FOUND); - outEx = (jthrowable) env->NewObject(JniReferences::GetClusterExceptionCls(), exceptionConstructor, errorCode); - VerifyOrExit(outEx != nullptr, err = CHIP_JNI_ERROR_TYPE_NOT_FOUND); + exceptionConstructor = env->GetMethodID(clusterExceptionCls, "", "(I)V"); + VerifyOrReturnError(exceptionConstructor != nullptr, CHIP_JNI_ERROR_TYPE_NOT_FOUND); + + outEx = (jthrowable) env->NewObject(clusterExceptionCls, exceptionConstructor, errorCode); + VerifyOrReturnError(outEx != nullptr, CHIP_JNI_ERROR_TYPE_NOT_FOUND); -exit: return err; } @@ -60,7 +63,7 @@ CHIP_ERROR CreateIllegalStateException(JNIEnv * env, const char message[], jint jclass exceptionClass; jstring errStr; - err = GetClassRef(env, "java/lang/IllegalStateException", exceptionClass); + err = JniReferences::GetInstance().GetClassRef(env, "java/lang/IllegalStateException", exceptionClass); SuccessOrExit(err); exceptionConstructor = env->GetMethodID(exceptionClass, "", "(Ljava/lang/String;)V"); @@ -82,7 +85,7 @@ class CHIPDefaultSuccessCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -97,7 +100,7 @@ class CHIPDefaultSuccessCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->ExceptionClear(); @@ -151,7 +154,7 @@ class CHIPDefaultFailureCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -166,7 +169,7 @@ class CHIPDefaultFailureCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onError", "(Ljava/lang/Exception;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onError", "(Ljava/lang/Exception;)V", &javaMethod); SuccessOrExit(err); err = CreateChipClusterException(env, status, exception); @@ -226,7 +229,7 @@ class CHIPAccountLoginClusterGetSetupPINResponseCallback : public Callback::Call CHIPAccountLoginClusterGetSetupPINResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -241,7 +244,7 @@ class CHIPAccountLoginClusterGetSetupPINResponseCallback : public Callback::Call } ~CHIPAccountLoginClusterGetSetupPINResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -252,9 +255,9 @@ class CHIPAccountLoginClusterGetSetupPINResponseCallback : public Callback::Call static void CallbackFn(void * context, uint8_t * setupPIN) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPAccountLoginClusterGetSetupPINResponseCallback * cppCallback = nullptr; @@ -269,7 +272,7 @@ class CHIPAccountLoginClusterGetSetupPINResponseCallback : public Callback::Call javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, setupPINStr.jniValue()); @@ -297,7 +300,7 @@ class CHIPApplicationLauncherClusterLaunchAppResponseCallback CHIPApplicationLauncherClusterLaunchAppResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -312,7 +315,7 @@ class CHIPApplicationLauncherClusterLaunchAppResponseCallback } ~CHIPApplicationLauncherClusterLaunchAppResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -323,9 +326,9 @@ class CHIPApplicationLauncherClusterLaunchAppResponseCallback static void CallbackFn(void * context, uint8_t * data) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPApplicationLauncherClusterLaunchAppResponseCallback * cppCallback = nullptr; @@ -340,7 +343,7 @@ class CHIPApplicationLauncherClusterLaunchAppResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, dataStr.jniValue()); @@ -368,7 +371,7 @@ class CHIPContentLauncherClusterLaunchContentResponseCallback CHIPContentLauncherClusterLaunchContentResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -383,7 +386,7 @@ class CHIPContentLauncherClusterLaunchContentResponseCallback } ~CHIPContentLauncherClusterLaunchContentResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -394,9 +397,9 @@ class CHIPContentLauncherClusterLaunchContentResponseCallback static void CallbackFn(void * context, uint8_t * data, uint8_t contentLaunchStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPContentLauncherClusterLaunchContentResponseCallback * cppCallback = nullptr; @@ -411,7 +414,7 @@ class CHIPContentLauncherClusterLaunchContentResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, dataStr.jniValue(), static_cast(contentLaunchStatus)); @@ -439,7 +442,7 @@ class CHIPContentLauncherClusterLaunchURLResponseCallback CHIPContentLauncherClusterLaunchURLResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -454,7 +457,7 @@ class CHIPContentLauncherClusterLaunchURLResponseCallback } ~CHIPContentLauncherClusterLaunchURLResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -465,9 +468,9 @@ class CHIPContentLauncherClusterLaunchURLResponseCallback static void CallbackFn(void * context, uint8_t * data, uint8_t contentLaunchStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPContentLauncherClusterLaunchURLResponseCallback * cppCallback = nullptr; @@ -482,7 +485,7 @@ class CHIPContentLauncherClusterLaunchURLResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, dataStr.jniValue(), static_cast(contentLaunchStatus)); @@ -509,7 +512,7 @@ class CHIPDoorLockClusterClearAllPinsResponseCallback : public Callback::Callbac CHIPDoorLockClusterClearAllPinsResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -524,7 +527,7 @@ class CHIPDoorLockClusterClearAllPinsResponseCallback : public Callback::Callbac } ~CHIPDoorLockClusterClearAllPinsResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -535,9 +538,9 @@ class CHIPDoorLockClusterClearAllPinsResponseCallback : public Callback::Callbac static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterClearAllPinsResponseCallback * cppCallback = nullptr; @@ -550,7 +553,7 @@ class CHIPDoorLockClusterClearAllPinsResponseCallback : public Callback::Callbac javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -577,7 +580,7 @@ class CHIPDoorLockClusterClearAllRfidsResponseCallback : public Callback::Callba CHIPDoorLockClusterClearAllRfidsResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -592,7 +595,7 @@ class CHIPDoorLockClusterClearAllRfidsResponseCallback : public Callback::Callba } ~CHIPDoorLockClusterClearAllRfidsResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -603,9 +606,9 @@ class CHIPDoorLockClusterClearAllRfidsResponseCallback : public Callback::Callba static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterClearAllRfidsResponseCallback * cppCallback = nullptr; @@ -618,7 +621,7 @@ class CHIPDoorLockClusterClearAllRfidsResponseCallback : public Callback::Callba javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -646,7 +649,7 @@ class CHIPDoorLockClusterClearHolidayScheduleResponseCallback CHIPDoorLockClusterClearHolidayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -661,7 +664,7 @@ class CHIPDoorLockClusterClearHolidayScheduleResponseCallback } ~CHIPDoorLockClusterClearHolidayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -672,9 +675,9 @@ class CHIPDoorLockClusterClearHolidayScheduleResponseCallback static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterClearHolidayScheduleResponseCallback * cppCallback = nullptr; @@ -687,7 +690,7 @@ class CHIPDoorLockClusterClearHolidayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -714,7 +717,7 @@ class CHIPDoorLockClusterClearPinResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -729,7 +732,7 @@ class CHIPDoorLockClusterClearPinResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -782,7 +785,7 @@ class CHIPDoorLockClusterClearRfidResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -797,7 +800,7 @@ class CHIPDoorLockClusterClearRfidResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -851,7 +854,7 @@ class CHIPDoorLockClusterClearWeekdayScheduleResponseCallback CHIPDoorLockClusterClearWeekdayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -866,7 +869,7 @@ class CHIPDoorLockClusterClearWeekdayScheduleResponseCallback } ~CHIPDoorLockClusterClearWeekdayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -877,9 +880,9 @@ class CHIPDoorLockClusterClearWeekdayScheduleResponseCallback static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterClearWeekdayScheduleResponseCallback * cppCallback = nullptr; @@ -892,7 +895,7 @@ class CHIPDoorLockClusterClearWeekdayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -920,7 +923,7 @@ class CHIPDoorLockClusterClearYeardayScheduleResponseCallback CHIPDoorLockClusterClearYeardayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -935,7 +938,7 @@ class CHIPDoorLockClusterClearYeardayScheduleResponseCallback } ~CHIPDoorLockClusterClearYeardayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -946,9 +949,9 @@ class CHIPDoorLockClusterClearYeardayScheduleResponseCallback static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterClearYeardayScheduleResponseCallback * cppCallback = nullptr; @@ -961,7 +964,7 @@ class CHIPDoorLockClusterClearYeardayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -989,7 +992,7 @@ class CHIPDoorLockClusterGetHolidayScheduleResponseCallback CHIPDoorLockClusterGetHolidayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1004,7 +1007,7 @@ class CHIPDoorLockClusterGetHolidayScheduleResponseCallback } ~CHIPDoorLockClusterGetHolidayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1016,9 +1019,9 @@ class CHIPDoorLockClusterGetHolidayScheduleResponseCallback static void CallbackFn(void * context, uint8_t scheduleId, uint32_t localStartTime, uint32_t localEndTime, uint8_t operatingModeDuringHoliday) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterGetHolidayScheduleResponseCallback * cppCallback = nullptr; @@ -1031,7 +1034,7 @@ class CHIPDoorLockClusterGetHolidayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IJJI)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IJJI)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(scheduleId), static_cast(localStartTime), @@ -1059,7 +1062,7 @@ class CHIPDoorLockClusterGetLogRecordResponseCallback : public Callback::Callbac CHIPDoorLockClusterGetLogRecordResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1074,7 +1077,7 @@ class CHIPDoorLockClusterGetLogRecordResponseCallback : public Callback::Callbac } ~CHIPDoorLockClusterGetLogRecordResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1086,9 +1089,9 @@ class CHIPDoorLockClusterGetLogRecordResponseCallback : public Callback::Callbac static void CallbackFn(void * context, uint16_t logEntryId, uint32_t timestamp, uint8_t eventType, uint8_t source, uint8_t eventIdOrAlarmCode, uint16_t userId, uint8_t * pin) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterGetLogRecordResponseCallback * cppCallback = nullptr; @@ -1103,7 +1106,8 @@ class CHIPDoorLockClusterGetLogRecordResponseCallback : public Callback::Callbac javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IJIIIILjava/lang/String;)V", &javaMethod); + err = + JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IJIIIILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(logEntryId), static_cast(timestamp), @@ -1132,7 +1136,7 @@ class CHIPDoorLockClusterGetPinResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1147,7 +1151,7 @@ class CHIPDoorLockClusterGetPinResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IIILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IIILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(userId), static_cast(userStatus), @@ -1203,7 +1207,7 @@ class CHIPDoorLockClusterGetRfidResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1218,7 +1222,7 @@ class CHIPDoorLockClusterGetRfidResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IIILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IIILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(userId), static_cast(userStatus), @@ -1274,7 +1278,7 @@ class CHIPDoorLockClusterGetUserTypeResponseCallback : public Callback::Callback CHIPDoorLockClusterGetUserTypeResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1289,7 +1293,7 @@ class CHIPDoorLockClusterGetUserTypeResponseCallback : public Callback::Callback } ~CHIPDoorLockClusterGetUserTypeResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1300,9 +1304,9 @@ class CHIPDoorLockClusterGetUserTypeResponseCallback : public Callback::Callback static void CallbackFn(void * context, uint16_t userId, uint8_t userType) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterGetUserTypeResponseCallback * cppCallback = nullptr; @@ -1315,7 +1319,7 @@ class CHIPDoorLockClusterGetUserTypeResponseCallback : public Callback::Callback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(userId), static_cast(userType)); @@ -1343,7 +1347,7 @@ class CHIPDoorLockClusterGetWeekdayScheduleResponseCallback CHIPDoorLockClusterGetWeekdayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1358,7 +1362,7 @@ class CHIPDoorLockClusterGetWeekdayScheduleResponseCallback } ~CHIPDoorLockClusterGetWeekdayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1370,9 +1374,9 @@ class CHIPDoorLockClusterGetWeekdayScheduleResponseCallback static void CallbackFn(void * context, uint8_t scheduleId, uint16_t userId, uint8_t daysMask, uint8_t startHour, uint8_t startMinute, uint8_t endHour, uint8_t endMinute) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterGetWeekdayScheduleResponseCallback * cppCallback = nullptr; @@ -1385,7 +1389,7 @@ class CHIPDoorLockClusterGetWeekdayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IIIIIII)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IIIIIII)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(scheduleId), static_cast(userId), @@ -1415,7 +1419,7 @@ class CHIPDoorLockClusterGetYeardayScheduleResponseCallback CHIPDoorLockClusterGetYeardayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1430,7 +1434,7 @@ class CHIPDoorLockClusterGetYeardayScheduleResponseCallback } ~CHIPDoorLockClusterGetYeardayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1441,9 +1445,9 @@ class CHIPDoorLockClusterGetYeardayScheduleResponseCallback static void CallbackFn(void * context, uint8_t scheduleId, uint16_t userId, uint32_t localStartTime, uint32_t localEndTime) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterGetYeardayScheduleResponseCallback * cppCallback = nullptr; @@ -1456,7 +1460,7 @@ class CHIPDoorLockClusterGetYeardayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IIJJ)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IIJJ)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(scheduleId), static_cast(userId), @@ -1484,7 +1488,7 @@ class CHIPDoorLockClusterLockDoorResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1499,7 +1503,7 @@ class CHIPDoorLockClusterLockDoorResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -1553,7 +1557,7 @@ class CHIPDoorLockClusterSetHolidayScheduleResponseCallback CHIPDoorLockClusterSetHolidayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1568,7 +1572,7 @@ class CHIPDoorLockClusterSetHolidayScheduleResponseCallback } ~CHIPDoorLockClusterSetHolidayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1579,9 +1583,9 @@ class CHIPDoorLockClusterSetHolidayScheduleResponseCallback static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterSetHolidayScheduleResponseCallback * cppCallback = nullptr; @@ -1594,7 +1598,7 @@ class CHIPDoorLockClusterSetHolidayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -1621,7 +1625,7 @@ class CHIPDoorLockClusterSetPinResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1636,7 +1640,7 @@ class CHIPDoorLockClusterSetPinResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -1689,7 +1693,7 @@ class CHIPDoorLockClusterSetRfidResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1704,7 +1708,7 @@ class CHIPDoorLockClusterSetRfidResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -1757,7 +1761,7 @@ class CHIPDoorLockClusterSetUserTypeResponseCallback : public Callback::Callback CHIPDoorLockClusterSetUserTypeResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1772,7 +1776,7 @@ class CHIPDoorLockClusterSetUserTypeResponseCallback : public Callback::Callback } ~CHIPDoorLockClusterSetUserTypeResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1783,9 +1787,9 @@ class CHIPDoorLockClusterSetUserTypeResponseCallback : public Callback::Callback static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterSetUserTypeResponseCallback * cppCallback = nullptr; @@ -1798,7 +1802,7 @@ class CHIPDoorLockClusterSetUserTypeResponseCallback : public Callback::Callback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -1826,7 +1830,7 @@ class CHIPDoorLockClusterSetWeekdayScheduleResponseCallback CHIPDoorLockClusterSetWeekdayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1841,7 +1845,7 @@ class CHIPDoorLockClusterSetWeekdayScheduleResponseCallback } ~CHIPDoorLockClusterSetWeekdayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1852,9 +1856,9 @@ class CHIPDoorLockClusterSetWeekdayScheduleResponseCallback static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterSetWeekdayScheduleResponseCallback * cppCallback = nullptr; @@ -1867,7 +1871,7 @@ class CHIPDoorLockClusterSetWeekdayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -1895,7 +1899,7 @@ class CHIPDoorLockClusterSetYeardayScheduleResponseCallback CHIPDoorLockClusterSetYeardayScheduleResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1910,7 +1914,7 @@ class CHIPDoorLockClusterSetYeardayScheduleResponseCallback } ~CHIPDoorLockClusterSetYeardayScheduleResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1921,9 +1925,9 @@ class CHIPDoorLockClusterSetYeardayScheduleResponseCallback static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterSetYeardayScheduleResponseCallback * cppCallback = nullptr; @@ -1936,7 +1940,7 @@ class CHIPDoorLockClusterSetYeardayScheduleResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -1963,7 +1967,7 @@ class CHIPDoorLockClusterUnlockDoorResponseCallback : public Callback::Callback< CHIPDoorLockClusterUnlockDoorResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1978,7 +1982,7 @@ class CHIPDoorLockClusterUnlockDoorResponseCallback : public Callback::Callback< } ~CHIPDoorLockClusterUnlockDoorResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -1989,9 +1993,9 @@ class CHIPDoorLockClusterUnlockDoorResponseCallback : public Callback::Callback< static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterUnlockDoorResponseCallback * cppCallback = nullptr; @@ -2004,7 +2008,7 @@ class CHIPDoorLockClusterUnlockDoorResponseCallback : public Callback::Callback< javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -2032,7 +2036,7 @@ class CHIPDoorLockClusterUnlockWithTimeoutResponseCallback CHIPDoorLockClusterUnlockWithTimeoutResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2047,7 +2051,7 @@ class CHIPDoorLockClusterUnlockWithTimeoutResponseCallback } ~CHIPDoorLockClusterUnlockWithTimeoutResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2058,9 +2062,9 @@ class CHIPDoorLockClusterUnlockWithTimeoutResponseCallback static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPDoorLockClusterUnlockWithTimeoutResponseCallback * cppCallback = nullptr; @@ -2073,7 +2077,7 @@ class CHIPDoorLockClusterUnlockWithTimeoutResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -2101,7 +2105,7 @@ class CHIPGeneralCommissioningClusterArmFailSafeResponseCallback CHIPGeneralCommissioningClusterArmFailSafeResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2116,7 +2120,7 @@ class CHIPGeneralCommissioningClusterArmFailSafeResponseCallback } ~CHIPGeneralCommissioningClusterArmFailSafeResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2127,9 +2131,9 @@ class CHIPGeneralCommissioningClusterArmFailSafeResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPGeneralCommissioningClusterArmFailSafeResponseCallback * cppCallback = nullptr; @@ -2144,7 +2148,7 @@ class CHIPGeneralCommissioningClusterArmFailSafeResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -2172,7 +2176,7 @@ class CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallback CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2187,7 +2191,7 @@ class CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallback } ~CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2198,9 +2202,9 @@ class CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallback * cppCallback = nullptr; @@ -2215,7 +2219,7 @@ class CHIPGeneralCommissioningClusterCommissioningCompleteResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -2243,7 +2247,7 @@ class CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallback CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2258,7 +2262,7 @@ class CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallback } ~CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2269,9 +2273,9 @@ class CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallback * cppCallback = nullptr; @@ -2286,7 +2290,7 @@ class CHIPGeneralCommissioningClusterSetRegulatoryConfigResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -2313,7 +2317,7 @@ class CHIPGroupsClusterAddGroupResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2328,7 +2332,7 @@ class CHIPGroupsClusterAddGroupResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(groupId)); @@ -2382,7 +2386,7 @@ class CHIPGroupsClusterGetGroupMembershipResponseCallback CHIPGroupsClusterGetGroupMembershipResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2397,7 +2401,7 @@ class CHIPGroupsClusterGetGroupMembershipResponseCallback } ~CHIPGroupsClusterGetGroupMembershipResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2409,9 +2413,9 @@ class CHIPGroupsClusterGetGroupMembershipResponseCallback static void CallbackFn(void * context, uint8_t capacity, uint8_t groupCount, /* TYPE WARNING: array array defaults to */ uint8_t * groupList) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPGroupsClusterGetGroupMembershipResponseCallback * cppCallback = nullptr; @@ -2424,7 +2428,7 @@ class CHIPGroupsClusterGetGroupMembershipResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(capacity), static_cast(groupCount) @@ -2454,7 +2458,7 @@ class CHIPGroupsClusterRemoveGroupResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2469,7 +2473,7 @@ class CHIPGroupsClusterRemoveGroupResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(groupId)); @@ -2522,7 +2526,7 @@ class CHIPGroupsClusterViewGroupResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2537,7 +2541,7 @@ class CHIPGroupsClusterViewGroupResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(groupId), groupNameStr.jniValue()); @@ -2592,7 +2596,7 @@ class CHIPIdentifyClusterIdentifyQueryResponseCallback : public Callback::Callba CHIPIdentifyClusterIdentifyQueryResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2607,7 +2611,7 @@ class CHIPIdentifyClusterIdentifyQueryResponseCallback : public Callback::Callba } ~CHIPIdentifyClusterIdentifyQueryResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2618,9 +2622,9 @@ class CHIPIdentifyClusterIdentifyQueryResponseCallback : public Callback::Callba static void CallbackFn(void * context, uint16_t timeout) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPIdentifyClusterIdentifyQueryResponseCallback * cppCallback = nullptr; @@ -2633,7 +2637,7 @@ class CHIPIdentifyClusterIdentifyQueryResponseCallback : public Callback::Callba javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(timeout)); @@ -2660,7 +2664,7 @@ class CHIPKeypadInputClusterSendKeyResponseCallback : public Callback::Callback< CHIPKeypadInputClusterSendKeyResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2675,7 +2679,7 @@ class CHIPKeypadInputClusterSendKeyResponseCallback : public Callback::Callback< } ~CHIPKeypadInputClusterSendKeyResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2686,9 +2690,9 @@ class CHIPKeypadInputClusterSendKeyResponseCallback : public Callback::Callback< static void CallbackFn(void * context) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPKeypadInputClusterSendKeyResponseCallback * cppCallback = nullptr; @@ -2701,7 +2705,7 @@ class CHIPKeypadInputClusterSendKeyResponseCallback : public Callback::Callback< javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod); @@ -2729,7 +2733,7 @@ class CHIPMediaPlaybackClusterMediaFastForwardResponseCallback CHIPMediaPlaybackClusterMediaFastForwardResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2744,7 +2748,7 @@ class CHIPMediaPlaybackClusterMediaFastForwardResponseCallback } ~CHIPMediaPlaybackClusterMediaFastForwardResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2755,9 +2759,9 @@ class CHIPMediaPlaybackClusterMediaFastForwardResponseCallback static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaFastForwardResponseCallback * cppCallback = nullptr; @@ -2770,7 +2774,7 @@ class CHIPMediaPlaybackClusterMediaFastForwardResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -2797,7 +2801,7 @@ class CHIPMediaPlaybackClusterMediaNextResponseCallback : public Callback::Callb CHIPMediaPlaybackClusterMediaNextResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2812,7 +2816,7 @@ class CHIPMediaPlaybackClusterMediaNextResponseCallback : public Callback::Callb } ~CHIPMediaPlaybackClusterMediaNextResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2823,9 +2827,9 @@ class CHIPMediaPlaybackClusterMediaNextResponseCallback : public Callback::Callb static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaNextResponseCallback * cppCallback = nullptr; @@ -2838,7 +2842,7 @@ class CHIPMediaPlaybackClusterMediaNextResponseCallback : public Callback::Callb javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -2865,7 +2869,7 @@ class CHIPMediaPlaybackClusterMediaPauseResponseCallback : public Callback::Call CHIPMediaPlaybackClusterMediaPauseResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2880,7 +2884,7 @@ class CHIPMediaPlaybackClusterMediaPauseResponseCallback : public Callback::Call } ~CHIPMediaPlaybackClusterMediaPauseResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2891,9 +2895,9 @@ class CHIPMediaPlaybackClusterMediaPauseResponseCallback : public Callback::Call static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaPauseResponseCallback * cppCallback = nullptr; @@ -2906,7 +2910,7 @@ class CHIPMediaPlaybackClusterMediaPauseResponseCallback : public Callback::Call javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -2933,7 +2937,7 @@ class CHIPMediaPlaybackClusterMediaPlayResponseCallback : public Callback::Callb CHIPMediaPlaybackClusterMediaPlayResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2948,7 +2952,7 @@ class CHIPMediaPlaybackClusterMediaPlayResponseCallback : public Callback::Callb } ~CHIPMediaPlaybackClusterMediaPlayResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -2959,9 +2963,9 @@ class CHIPMediaPlaybackClusterMediaPlayResponseCallback : public Callback::Callb static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaPlayResponseCallback * cppCallback = nullptr; @@ -2974,7 +2978,7 @@ class CHIPMediaPlaybackClusterMediaPlayResponseCallback : public Callback::Callb javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -3002,7 +3006,7 @@ class CHIPMediaPlaybackClusterMediaPreviousResponseCallback CHIPMediaPlaybackClusterMediaPreviousResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3017,7 +3021,7 @@ class CHIPMediaPlaybackClusterMediaPreviousResponseCallback } ~CHIPMediaPlaybackClusterMediaPreviousResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3028,9 +3032,9 @@ class CHIPMediaPlaybackClusterMediaPreviousResponseCallback static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaPreviousResponseCallback * cppCallback = nullptr; @@ -3043,7 +3047,7 @@ class CHIPMediaPlaybackClusterMediaPreviousResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -3071,7 +3075,7 @@ class CHIPMediaPlaybackClusterMediaRewindResponseCallback CHIPMediaPlaybackClusterMediaRewindResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3086,7 +3090,7 @@ class CHIPMediaPlaybackClusterMediaRewindResponseCallback } ~CHIPMediaPlaybackClusterMediaRewindResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3097,9 +3101,9 @@ class CHIPMediaPlaybackClusterMediaRewindResponseCallback static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaRewindResponseCallback * cppCallback = nullptr; @@ -3112,7 +3116,7 @@ class CHIPMediaPlaybackClusterMediaRewindResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -3140,7 +3144,7 @@ class CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallback CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3155,7 +3159,7 @@ class CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallback } ~CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3166,9 +3170,9 @@ class CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallback static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallback * cppCallback = nullptr; @@ -3181,7 +3185,7 @@ class CHIPMediaPlaybackClusterMediaSkipBackwardResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -3209,7 +3213,7 @@ class CHIPMediaPlaybackClusterMediaSkipForwardResponseCallback CHIPMediaPlaybackClusterMediaSkipForwardResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3224,7 +3228,7 @@ class CHIPMediaPlaybackClusterMediaSkipForwardResponseCallback } ~CHIPMediaPlaybackClusterMediaSkipForwardResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3235,9 +3239,9 @@ class CHIPMediaPlaybackClusterMediaSkipForwardResponseCallback static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaSkipForwardResponseCallback * cppCallback = nullptr; @@ -3250,7 +3254,7 @@ class CHIPMediaPlaybackClusterMediaSkipForwardResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -3278,7 +3282,7 @@ class CHIPMediaPlaybackClusterMediaSkipSeekResponseCallback CHIPMediaPlaybackClusterMediaSkipSeekResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3293,7 +3297,7 @@ class CHIPMediaPlaybackClusterMediaSkipSeekResponseCallback } ~CHIPMediaPlaybackClusterMediaSkipSeekResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3304,9 +3308,9 @@ class CHIPMediaPlaybackClusterMediaSkipSeekResponseCallback static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaSkipSeekResponseCallback * cppCallback = nullptr; @@ -3319,7 +3323,7 @@ class CHIPMediaPlaybackClusterMediaSkipSeekResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -3347,7 +3351,7 @@ class CHIPMediaPlaybackClusterMediaStartOverResponseCallback CHIPMediaPlaybackClusterMediaStartOverResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3362,7 +3366,7 @@ class CHIPMediaPlaybackClusterMediaStartOverResponseCallback } ~CHIPMediaPlaybackClusterMediaStartOverResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3373,9 +3377,9 @@ class CHIPMediaPlaybackClusterMediaStartOverResponseCallback static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaStartOverResponseCallback * cppCallback = nullptr; @@ -3388,7 +3392,7 @@ class CHIPMediaPlaybackClusterMediaStartOverResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -3415,7 +3419,7 @@ class CHIPMediaPlaybackClusterMediaStopResponseCallback : public Callback::Callb CHIPMediaPlaybackClusterMediaStopResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3430,7 +3434,7 @@ class CHIPMediaPlaybackClusterMediaStopResponseCallback : public Callback::Callb } ~CHIPMediaPlaybackClusterMediaStopResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3441,9 +3445,9 @@ class CHIPMediaPlaybackClusterMediaStopResponseCallback : public Callback::Callb static void CallbackFn(void * context, uint8_t mediaPlaybackStatus) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPMediaPlaybackClusterMediaStopResponseCallback * cppCallback = nullptr; @@ -3456,7 +3460,7 @@ class CHIPMediaPlaybackClusterMediaStopResponseCallback : public Callback::Callb javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(mediaPlaybackStatus)); @@ -3484,7 +3488,7 @@ class CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallback CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3499,7 +3503,7 @@ class CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallback } ~CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3510,9 +3514,9 @@ class CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallback * cppCallback = nullptr; @@ -3527,7 +3531,7 @@ class CHIPNetworkCommissioningClusterAddThreadNetworkResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -3555,7 +3559,7 @@ class CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallback CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3570,7 +3574,7 @@ class CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallback } ~CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3581,9 +3585,9 @@ class CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallback * cppCallback = nullptr; @@ -3598,7 +3602,7 @@ class CHIPNetworkCommissioningClusterAddWiFiNetworkResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -3626,7 +3630,7 @@ class CHIPNetworkCommissioningClusterDisableNetworkResponseCallback CHIPNetworkCommissioningClusterDisableNetworkResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3641,7 +3645,7 @@ class CHIPNetworkCommissioningClusterDisableNetworkResponseCallback } ~CHIPNetworkCommissioningClusterDisableNetworkResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3652,9 +3656,9 @@ class CHIPNetworkCommissioningClusterDisableNetworkResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPNetworkCommissioningClusterDisableNetworkResponseCallback * cppCallback = nullptr; @@ -3669,7 +3673,7 @@ class CHIPNetworkCommissioningClusterDisableNetworkResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -3697,7 +3701,7 @@ class CHIPNetworkCommissioningClusterEnableNetworkResponseCallback CHIPNetworkCommissioningClusterEnableNetworkResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3712,7 +3716,7 @@ class CHIPNetworkCommissioningClusterEnableNetworkResponseCallback } ~CHIPNetworkCommissioningClusterEnableNetworkResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3723,9 +3727,9 @@ class CHIPNetworkCommissioningClusterEnableNetworkResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPNetworkCommissioningClusterEnableNetworkResponseCallback * cppCallback = nullptr; @@ -3740,7 +3744,7 @@ class CHIPNetworkCommissioningClusterEnableNetworkResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -3768,7 +3772,7 @@ class CHIPNetworkCommissioningClusterRemoveNetworkResponseCallback CHIPNetworkCommissioningClusterRemoveNetworkResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3783,7 +3787,7 @@ class CHIPNetworkCommissioningClusterRemoveNetworkResponseCallback } ~CHIPNetworkCommissioningClusterRemoveNetworkResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3794,9 +3798,9 @@ class CHIPNetworkCommissioningClusterRemoveNetworkResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPNetworkCommissioningClusterRemoveNetworkResponseCallback * cppCallback = nullptr; @@ -3811,7 +3815,7 @@ class CHIPNetworkCommissioningClusterRemoveNetworkResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -3839,7 +3843,7 @@ class CHIPNetworkCommissioningClusterScanNetworksResponseCallback CHIPNetworkCommissioningClusterScanNetworksResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3854,7 +3858,7 @@ class CHIPNetworkCommissioningClusterScanNetworksResponseCallback } ~CHIPNetworkCommissioningClusterScanNetworksResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3867,9 +3871,9 @@ class CHIPNetworkCommissioningClusterScanNetworksResponseCallback /* TYPE WARNING: array array defaults to */ uint8_t * wifiScanResults, /* TYPE WARNING: array array defaults to */ uint8_t * threadScanResults) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPNetworkCommissioningClusterScanNetworksResponseCallback * cppCallback = nullptr; @@ -3884,7 +3888,7 @@ class CHIPNetworkCommissioningClusterScanNetworksResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue() @@ -3917,7 +3921,7 @@ class CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallback CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3932,7 +3936,7 @@ class CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallback } ~CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -3943,9 +3947,9 @@ class CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallback * cppCallback = nullptr; @@ -3960,7 +3964,7 @@ class CHIPNetworkCommissioningClusterUpdateThreadNetworkResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -3988,7 +3992,7 @@ class CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4003,7 +4007,7 @@ class CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback } ~CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4014,9 +4018,9 @@ class CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback static void CallbackFn(void * context, uint8_t errorCode, uint8_t * debugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback * cppCallback = nullptr; @@ -4031,7 +4035,7 @@ class CHIPNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(ILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(errorCode), debugTextStr.jniValue()); @@ -4059,7 +4063,7 @@ class CHIPOtaSoftwareUpdateServerClusterApplyUpdateRequestResponseCallback CHIPOtaSoftwareUpdateServerClusterApplyUpdateRequestResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4074,7 +4078,7 @@ class CHIPOtaSoftwareUpdateServerClusterApplyUpdateRequestResponseCallback } ~CHIPOtaSoftwareUpdateServerClusterApplyUpdateRequestResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4085,9 +4089,9 @@ class CHIPOtaSoftwareUpdateServerClusterApplyUpdateRequestResponseCallback static void CallbackFn(void * context, uint8_t action, uint32_t delayedActionTime) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPOtaSoftwareUpdateServerClusterApplyUpdateRequestResponseCallback * cppCallback = nullptr; @@ -4100,7 +4104,7 @@ class CHIPOtaSoftwareUpdateServerClusterApplyUpdateRequestResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IJ)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IJ)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(action), static_cast(delayedActionTime)); @@ -4128,7 +4132,7 @@ class CHIPOtaSoftwareUpdateServerClusterQueryImageResponseCallback CHIPOtaSoftwareUpdateServerClusterQueryImageResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4143,7 +4147,7 @@ class CHIPOtaSoftwareUpdateServerClusterQueryImageResponseCallback } ~CHIPOtaSoftwareUpdateServerClusterQueryImageResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4155,9 +4159,9 @@ class CHIPOtaSoftwareUpdateServerClusterQueryImageResponseCallback static void CallbackFn(void * context, uint32_t delayedActionTime, uint8_t * imageURI, uint32_t softwareVersion, chip::ByteSpan updateToken, uint8_t userConsentNeeded, chip::ByteSpan metadataForClient) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPOtaSoftwareUpdateServerClusterQueryImageResponseCallback * cppCallback = nullptr; @@ -4174,7 +4178,8 @@ class CHIPOtaSoftwareUpdateServerClusterQueryImageResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(JLjava/lang/String;J[BI[B)V", &javaMethod); + err = + JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(JLjava/lang/String;J[BI[B)V", &javaMethod); SuccessOrExit(err); updateTokenArr = env->NewByteArray(updateToken.size()); @@ -4219,7 +4224,7 @@ class CHIPOperationalCredentialsClusterOpCSRResponseCallback CHIPOperationalCredentialsClusterOpCSRResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4234,7 +4239,7 @@ class CHIPOperationalCredentialsClusterOpCSRResponseCallback } ~CHIPOperationalCredentialsClusterOpCSRResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4246,9 +4251,9 @@ class CHIPOperationalCredentialsClusterOpCSRResponseCallback static void CallbackFn(void * context, chip::ByteSpan CSR, chip::ByteSpan CSRNonce, chip::ByteSpan VendorReserved1, chip::ByteSpan VendorReserved2, chip::ByteSpan VendorReserved3, chip::ByteSpan Signature) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPOperationalCredentialsClusterOpCSRResponseCallback * cppCallback = nullptr; @@ -4267,7 +4272,7 @@ class CHIPOperationalCredentialsClusterOpCSRResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "([B[B[B[B[B[B)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "([B[B[B[B[B[B)V", &javaMethod); SuccessOrExit(err); CSRArr = env->NewByteArray(CSR.size()); @@ -4337,7 +4342,7 @@ class CHIPOperationalCredentialsClusterOpCertResponseCallback CHIPOperationalCredentialsClusterOpCertResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4352,7 +4357,7 @@ class CHIPOperationalCredentialsClusterOpCertResponseCallback } ~CHIPOperationalCredentialsClusterOpCertResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4363,9 +4368,9 @@ class CHIPOperationalCredentialsClusterOpCertResponseCallback static void CallbackFn(void * context, uint8_t StatusCode, uint64_t FabricIndex, uint8_t * DebugText) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPOperationalCredentialsClusterOpCertResponseCallback * cppCallback = nullptr; @@ -4380,7 +4385,7 @@ class CHIPOperationalCredentialsClusterOpCertResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IJLjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IJLjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(StatusCode), static_cast(FabricIndex), @@ -4409,7 +4414,7 @@ class CHIPOperationalCredentialsClusterSetFabricResponseCallback CHIPOperationalCredentialsClusterSetFabricResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4424,7 +4429,7 @@ class CHIPOperationalCredentialsClusterSetFabricResponseCallback } ~CHIPOperationalCredentialsClusterSetFabricResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4435,9 +4440,9 @@ class CHIPOperationalCredentialsClusterSetFabricResponseCallback static void CallbackFn(void * context, chip::FabricId FabricId) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPOperationalCredentialsClusterSetFabricResponseCallback * cppCallback = nullptr; @@ -4450,7 +4455,7 @@ class CHIPOperationalCredentialsClusterSetFabricResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(J)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(J)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(FabricId)); @@ -4477,7 +4482,7 @@ class CHIPScenesClusterAddSceneResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4492,7 +4497,7 @@ class CHIPScenesClusterAddSceneResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(groupId), static_cast(sceneId)); @@ -4546,7 +4551,7 @@ class CHIPScenesClusterGetSceneMembershipResponseCallback CHIPScenesClusterGetSceneMembershipResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4561,7 +4566,7 @@ class CHIPScenesClusterGetSceneMembershipResponseCallback } ~CHIPScenesClusterGetSceneMembershipResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4573,9 +4578,9 @@ class CHIPScenesClusterGetSceneMembershipResponseCallback static void CallbackFn(void * context, uint8_t capacity, uint16_t groupId, uint8_t sceneCount, /* TYPE WARNING: array array defaults to */ uint8_t * sceneList) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPScenesClusterGetSceneMembershipResponseCallback * cppCallback = nullptr; @@ -4588,7 +4593,7 @@ class CHIPScenesClusterGetSceneMembershipResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(III)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(III)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(capacity), static_cast(groupId), @@ -4619,7 +4624,7 @@ class CHIPScenesClusterRemoveAllScenesResponseCallback : public Callback::Callba CHIPScenesClusterRemoveAllScenesResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4634,7 +4639,7 @@ class CHIPScenesClusterRemoveAllScenesResponseCallback : public Callback::Callba } ~CHIPScenesClusterRemoveAllScenesResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4645,9 +4650,9 @@ class CHIPScenesClusterRemoveAllScenesResponseCallback : public Callback::Callba static void CallbackFn(void * context, uint16_t groupId) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPScenesClusterRemoveAllScenesResponseCallback * cppCallback = nullptr; @@ -4660,7 +4665,7 @@ class CHIPScenesClusterRemoveAllScenesResponseCallback : public Callback::Callba javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(groupId)); @@ -4687,7 +4692,7 @@ class CHIPScenesClusterRemoveSceneResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4702,7 +4707,7 @@ class CHIPScenesClusterRemoveSceneResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(groupId), static_cast(sceneId)); @@ -4755,7 +4760,7 @@ class CHIPScenesClusterStoreSceneResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4770,7 +4775,7 @@ class CHIPScenesClusterStoreSceneResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(II)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(groupId), static_cast(sceneId)); @@ -4823,7 +4828,7 @@ class CHIPScenesClusterViewSceneResponseCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4838,7 +4843,7 @@ class CHIPScenesClusterViewSceneResponseCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(IIILjava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(IIILjava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(groupId), static_cast(sceneId), @@ -4898,7 +4903,7 @@ class CHIPTvChannelClusterChangeChannelResponseCallback : public Callback::Callb CHIPTvChannelClusterChangeChannelResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4913,7 +4918,7 @@ class CHIPTvChannelClusterChangeChannelResponseCallback : public Callback::Callb } ~CHIPTvChannelClusterChangeChannelResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4924,9 +4929,9 @@ class CHIPTvChannelClusterChangeChannelResponseCallback : public Callback::Callb static void CallbackFn(void * context, /* TYPE WARNING: array array defaults to */ uint8_t * ChannelMatch, uint8_t ErrorType) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPTvChannelClusterChangeChannelResponseCallback * cppCallback = nullptr; @@ -4939,7 +4944,7 @@ class CHIPTvChannelClusterChangeChannelResponseCallback : public Callback::Callb javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, @@ -4972,7 +4977,7 @@ class CHIPTargetNavigatorClusterNavigateTargetResponseCallback CHIPTargetNavigatorClusterNavigateTargetResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4987,7 +4992,7 @@ class CHIPTargetNavigatorClusterNavigateTargetResponseCallback } ~CHIPTargetNavigatorClusterNavigateTargetResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -4998,9 +5003,9 @@ class CHIPTargetNavigatorClusterNavigateTargetResponseCallback static void CallbackFn(void * context, uint8_t * data) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPTargetNavigatorClusterNavigateTargetResponseCallback * cppCallback = nullptr; @@ -5015,7 +5020,7 @@ class CHIPTargetNavigatorClusterNavigateTargetResponseCallback javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/String;)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, dataStr.jniValue()); @@ -5042,7 +5047,7 @@ class CHIPTestClusterClusterTestSpecificResponseCallback : public Callback::Call CHIPTestClusterClusterTestSpecificResponseCallback(jobject javaCallback) : Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -5057,7 +5062,7 @@ class CHIPTestClusterClusterTestSpecificResponseCallback : public Callback::Call } ~CHIPTestClusterClusterTestSpecificResponseCallback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); @@ -5068,9 +5073,9 @@ class CHIPTestClusterClusterTestSpecificResponseCallback : public Callback::Call static void CallbackFn(void * context, uint8_t returnValue) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIPTestClusterClusterTestSpecificResponseCallback * cppCallback = nullptr; @@ -5083,7 +5088,7 @@ class CHIPTestClusterClusterTestSpecificResponseCallback : public Callback::Call javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(I)V", &javaMethod); SuccessOrExit(err); env->CallVoidMethod(javaCallbackRef, javaMethod, static_cast(returnValue)); @@ -5106,7 +5111,7 @@ class CHIPTestClusterClusterTestSpecificResponseCallback : public Callback::Call JNI_METHOD(void, BaseChipCluster, deleteCluster)(JNIEnv * env, jobject self, jlong clusterPtr) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ClusterBase * cluster = reinterpret_cast(clusterPtr); if (cluster != nullptr) { @@ -5116,7 +5121,7 @@ JNI_METHOD(void, BaseChipCluster, deleteCluster)(JNIEnv * env, jobject self, jlo JNI_METHOD(jlong, AccountLoginCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); AccountLoginCluster * cppCluster = new AccountLoginCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5126,7 +5131,7 @@ JNI_METHOD(jlong, AccountLoginCluster, initWithDevice)(JNIEnv * env, jobject sel JNI_METHOD(void, AccountLoginCluster, getSetupPIN) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring tempAccountIdentifier) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AccountLoginCluster * cppCluster; @@ -5156,7 +5161,7 @@ JNI_METHOD(void, AccountLoginCluster, getSetupPIN) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5175,7 +5180,7 @@ JNI_METHOD(void, AccountLoginCluster, getSetupPIN) JNI_METHOD(void, AccountLoginCluster, login) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring tempAccountIdentifier, jstring setupPIN) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AccountLoginCluster * cppCluster; @@ -5206,7 +5211,7 @@ JNI_METHOD(void, AccountLoginCluster, login) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5224,7 +5229,7 @@ JNI_METHOD(void, AccountLoginCluster, login) } JNI_METHOD(jlong, ApplicationBasicCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ApplicationBasicCluster * cppCluster = new ApplicationBasicCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5233,7 +5238,7 @@ JNI_METHOD(jlong, ApplicationBasicCluster, initWithDevice)(JNIEnv * env, jobject JNI_METHOD(void, ApplicationBasicCluster, changeStatus)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint status) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ApplicationBasicCluster * cppCluster; @@ -5260,7 +5265,7 @@ JNI_METHOD(void, ApplicationBasicCluster, changeStatus)(JNIEnv * env, jobject se jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5278,7 +5283,7 @@ JNI_METHOD(void, ApplicationBasicCluster, changeStatus)(JNIEnv * env, jobject se } JNI_METHOD(jlong, ApplicationLauncherCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ApplicationLauncherCluster * cppCluster = new ApplicationLauncherCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5288,7 +5293,7 @@ JNI_METHOD(jlong, ApplicationLauncherCluster, initWithDevice)(JNIEnv * env, jobj JNI_METHOD(void, ApplicationLauncherCluster, launchApp) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring data, jint catalogVendorId, jstring applicationId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ApplicationLauncherCluster * cppCluster; @@ -5319,7 +5324,7 @@ JNI_METHOD(void, ApplicationLauncherCluster, launchApp) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5337,7 +5342,7 @@ JNI_METHOD(void, ApplicationLauncherCluster, launchApp) } JNI_METHOD(jlong, AudioOutputCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); AudioOutputCluster * cppCluster = new AudioOutputCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5347,7 +5352,7 @@ JNI_METHOD(jlong, AudioOutputCluster, initWithDevice)(JNIEnv * env, jobject self JNI_METHOD(void, AudioOutputCluster, renameOutput) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint index, jstring name) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AudioOutputCluster * cppCluster; @@ -5376,7 +5381,7 @@ JNI_METHOD(void, AudioOutputCluster, renameOutput) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5394,7 +5399,7 @@ JNI_METHOD(void, AudioOutputCluster, renameOutput) } JNI_METHOD(void, AudioOutputCluster, selectOutput)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint index) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; AudioOutputCluster * cppCluster; @@ -5421,7 +5426,7 @@ JNI_METHOD(void, AudioOutputCluster, selectOutput)(JNIEnv * env, jobject self, j jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5439,7 +5444,7 @@ JNI_METHOD(void, AudioOutputCluster, selectOutput)(JNIEnv * env, jobject self, j } JNI_METHOD(jlong, BarrierControlCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BarrierControlCluster * cppCluster = new BarrierControlCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5449,7 +5454,7 @@ JNI_METHOD(jlong, BarrierControlCluster, initWithDevice)(JNIEnv * env, jobject s JNI_METHOD(void, BarrierControlCluster, barrierControlGoToPercent) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint percentOpen) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; BarrierControlCluster * cppCluster; @@ -5476,7 +5481,7 @@ JNI_METHOD(void, BarrierControlCluster, barrierControlGoToPercent) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5494,7 +5499,7 @@ JNI_METHOD(void, BarrierControlCluster, barrierControlGoToPercent) } JNI_METHOD(void, BarrierControlCluster, barrierControlStop)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; BarrierControlCluster * cppCluster; @@ -5521,7 +5526,7 @@ JNI_METHOD(void, BarrierControlCluster, barrierControlStop)(JNIEnv * env, jobjec jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5539,7 +5544,7 @@ JNI_METHOD(void, BarrierControlCluster, barrierControlStop)(JNIEnv * env, jobjec } JNI_METHOD(jlong, BasicCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BasicCluster * cppCluster = new BasicCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5548,7 +5553,7 @@ JNI_METHOD(jlong, BasicCluster, initWithDevice)(JNIEnv * env, jobject self, jlon JNI_METHOD(void, BasicCluster, mfgSpecificPing)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; BasicCluster * cppCluster; @@ -5575,7 +5580,7 @@ JNI_METHOD(void, BasicCluster, mfgSpecificPing)(JNIEnv * env, jobject self, jlon jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5593,7 +5598,7 @@ JNI_METHOD(void, BasicCluster, mfgSpecificPing)(JNIEnv * env, jobject self, jlon } JNI_METHOD(jlong, BinaryInputBasicCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BinaryInputBasicCluster * cppCluster = new BinaryInputBasicCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5602,7 +5607,7 @@ JNI_METHOD(jlong, BinaryInputBasicCluster, initWithDevice)(JNIEnv * env, jobject JNI_METHOD(jlong, BindingCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BindingCluster * cppCluster = new BindingCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5612,7 +5617,7 @@ JNI_METHOD(jlong, BindingCluster, initWithDevice)(JNIEnv * env, jobject self, jl JNI_METHOD(void, BindingCluster, bind) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jlong nodeId, jint groupId, jint endpointId, jint clusterId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; BindingCluster * cppCluster; @@ -5639,7 +5644,7 @@ JNI_METHOD(void, BindingCluster, bind) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5658,7 +5663,7 @@ JNI_METHOD(void, BindingCluster, bind) JNI_METHOD(void, BindingCluster, unbind) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jlong nodeId, jint groupId, jint endpointId, jint clusterId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; BindingCluster * cppCluster; @@ -5685,7 +5690,7 @@ JNI_METHOD(void, BindingCluster, unbind) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5703,7 +5708,7 @@ JNI_METHOD(void, BindingCluster, unbind) } JNI_METHOD(jlong, BridgedDeviceBasicCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); BridgedDeviceBasicCluster * cppCluster = new BridgedDeviceBasicCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5712,7 +5717,7 @@ JNI_METHOD(jlong, BridgedDeviceBasicCluster, initWithDevice)(JNIEnv * env, jobje JNI_METHOD(jlong, ColorControlCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ColorControlCluster * cppCluster = new ColorControlCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -5722,7 +5727,7 @@ JNI_METHOD(jlong, ColorControlCluster, initWithDevice)(JNIEnv * env, jobject sel JNI_METHOD(void, ColorControlCluster, moveColor) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint rateX, jint rateY, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -5749,7 +5754,7 @@ JNI_METHOD(void, ColorControlCluster, moveColor) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5769,7 +5774,7 @@ JNI_METHOD(void, ColorControlCluster, moveColorTemperature) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint moveMode, jint rate, jint colorTemperatureMinimum, jint colorTemperatureMaximum, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -5797,7 +5802,7 @@ JNI_METHOD(void, ColorControlCluster, moveColorTemperature) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5816,7 +5821,7 @@ JNI_METHOD(void, ColorControlCluster, moveColorTemperature) JNI_METHOD(void, ColorControlCluster, moveHue) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint moveMode, jint rate, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -5843,7 +5848,7 @@ JNI_METHOD(void, ColorControlCluster, moveHue) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5862,7 +5867,7 @@ JNI_METHOD(void, ColorControlCluster, moveHue) JNI_METHOD(void, ColorControlCluster, moveSaturation) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint moveMode, jint rate, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -5889,7 +5894,7 @@ JNI_METHOD(void, ColorControlCluster, moveSaturation) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5909,7 +5914,7 @@ JNI_METHOD(void, ColorControlCluster, moveToColor) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint colorX, jint colorY, jint transitionTime, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -5937,7 +5942,7 @@ JNI_METHOD(void, ColorControlCluster, moveToColor) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -5957,7 +5962,7 @@ JNI_METHOD(void, ColorControlCluster, moveToColorTemperature) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint colorTemperature, jint transitionTime, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -5985,7 +5990,7 @@ JNI_METHOD(void, ColorControlCluster, moveToColorTemperature) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6005,7 +6010,7 @@ JNI_METHOD(void, ColorControlCluster, moveToHue) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint hue, jint direction, jint transitionTime, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -6033,7 +6038,7 @@ JNI_METHOD(void, ColorControlCluster, moveToHue) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6053,7 +6058,7 @@ JNI_METHOD(void, ColorControlCluster, moveToHueAndSaturation) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint hue, jint saturation, jint transitionTime, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -6081,7 +6086,7 @@ JNI_METHOD(void, ColorControlCluster, moveToHueAndSaturation) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6101,7 +6106,7 @@ JNI_METHOD(void, ColorControlCluster, moveToSaturation) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint saturation, jint transitionTime, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -6129,7 +6134,7 @@ JNI_METHOD(void, ColorControlCluster, moveToSaturation) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6149,7 +6154,7 @@ JNI_METHOD(void, ColorControlCluster, stepColor) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint stepX, jint stepY, jint transitionTime, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -6177,7 +6182,7 @@ JNI_METHOD(void, ColorControlCluster, stepColor) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6197,7 +6202,7 @@ JNI_METHOD(void, ColorControlCluster, stepColorTemperature) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint stepMode, jint stepSize, jint transitionTime, jint colorTemperatureMinimum, jint colorTemperatureMaximum, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -6225,7 +6230,7 @@ JNI_METHOD(void, ColorControlCluster, stepColorTemperature) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6245,7 +6250,7 @@ JNI_METHOD(void, ColorControlCluster, stepHue) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint stepMode, jint stepSize, jint transitionTime, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -6273,7 +6278,7 @@ JNI_METHOD(void, ColorControlCluster, stepHue) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6293,7 +6298,7 @@ JNI_METHOD(void, ColorControlCluster, stepSaturation) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint stepMode, jint stepSize, jint transitionTime, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -6321,7 +6326,7 @@ JNI_METHOD(void, ColorControlCluster, stepSaturation) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6340,7 +6345,7 @@ JNI_METHOD(void, ColorControlCluster, stepSaturation) JNI_METHOD(void, ColorControlCluster, stopMoveStep) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint optionsMask, jint optionsOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ColorControlCluster * cppCluster; @@ -6367,7 +6372,7 @@ JNI_METHOD(void, ColorControlCluster, stopMoveStep) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6385,7 +6390,7 @@ JNI_METHOD(void, ColorControlCluster, stopMoveStep) } JNI_METHOD(jlong, ContentLauncherCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ContentLauncherCluster * cppCluster = new ContentLauncherCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -6395,7 +6400,7 @@ JNI_METHOD(jlong, ContentLauncherCluster, initWithDevice)(JNIEnv * env, jobject JNI_METHOD(void, ContentLauncherCluster, launchContent) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint autoPlay, jstring data) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ContentLauncherCluster * cppCluster; @@ -6424,7 +6429,7 @@ JNI_METHOD(void, ContentLauncherCluster, launchContent) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6443,7 +6448,7 @@ JNI_METHOD(void, ContentLauncherCluster, launchContent) JNI_METHOD(void, ContentLauncherCluster, launchURL) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring contentURL, jstring displayString) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ContentLauncherCluster * cppCluster; @@ -6474,7 +6479,7 @@ JNI_METHOD(void, ContentLauncherCluster, launchURL) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6492,7 +6497,7 @@ JNI_METHOD(void, ContentLauncherCluster, launchURL) } JNI_METHOD(jlong, DescriptorCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); DescriptorCluster * cppCluster = new DescriptorCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -6501,7 +6506,7 @@ JNI_METHOD(jlong, DescriptorCluster, initWithDevice)(JNIEnv * env, jobject self, JNI_METHOD(jlong, DoorLockCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); DoorLockCluster * cppCluster = new DoorLockCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -6510,7 +6515,7 @@ JNI_METHOD(jlong, DoorLockCluster, initWithDevice)(JNIEnv * env, jobject self, j JNI_METHOD(void, DoorLockCluster, clearAllPins)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6537,7 +6542,7 @@ JNI_METHOD(void, DoorLockCluster, clearAllPins)(JNIEnv * env, jobject self, jlon jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6555,7 +6560,7 @@ JNI_METHOD(void, DoorLockCluster, clearAllPins)(JNIEnv * env, jobject self, jlon } JNI_METHOD(void, DoorLockCluster, clearAllRfids)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6582,7 +6587,7 @@ JNI_METHOD(void, DoorLockCluster, clearAllRfids)(JNIEnv * env, jobject self, jlo jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6601,7 +6606,7 @@ JNI_METHOD(void, DoorLockCluster, clearAllRfids)(JNIEnv * env, jobject self, jlo JNI_METHOD(void, DoorLockCluster, clearHolidaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6628,7 +6633,7 @@ JNI_METHOD(void, DoorLockCluster, clearHolidaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6646,7 +6651,7 @@ JNI_METHOD(void, DoorLockCluster, clearHolidaySchedule) } JNI_METHOD(void, DoorLockCluster, clearPin)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6673,7 +6678,7 @@ JNI_METHOD(void, DoorLockCluster, clearPin)(JNIEnv * env, jobject self, jlong cl jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6691,7 +6696,7 @@ JNI_METHOD(void, DoorLockCluster, clearPin)(JNIEnv * env, jobject self, jlong cl } JNI_METHOD(void, DoorLockCluster, clearRfid)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6718,7 +6723,7 @@ JNI_METHOD(void, DoorLockCluster, clearRfid)(JNIEnv * env, jobject self, jlong c jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6737,7 +6742,7 @@ JNI_METHOD(void, DoorLockCluster, clearRfid)(JNIEnv * env, jobject self, jlong c JNI_METHOD(void, DoorLockCluster, clearWeekdaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6764,7 +6769,7 @@ JNI_METHOD(void, DoorLockCluster, clearWeekdaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6783,7 +6788,7 @@ JNI_METHOD(void, DoorLockCluster, clearWeekdaySchedule) JNI_METHOD(void, DoorLockCluster, clearYeardaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6810,7 +6815,7 @@ JNI_METHOD(void, DoorLockCluster, clearYeardaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6829,7 +6834,7 @@ JNI_METHOD(void, DoorLockCluster, clearYeardaySchedule) JNI_METHOD(void, DoorLockCluster, getHolidaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6856,7 +6861,7 @@ JNI_METHOD(void, DoorLockCluster, getHolidaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6874,7 +6879,7 @@ JNI_METHOD(void, DoorLockCluster, getHolidaySchedule) } JNI_METHOD(void, DoorLockCluster, getLogRecord)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint logIndex) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6901,7 +6906,7 @@ JNI_METHOD(void, DoorLockCluster, getLogRecord)(JNIEnv * env, jobject self, jlon jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6919,7 +6924,7 @@ JNI_METHOD(void, DoorLockCluster, getLogRecord)(JNIEnv * env, jobject self, jlon } JNI_METHOD(void, DoorLockCluster, getPin)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6946,7 +6951,7 @@ JNI_METHOD(void, DoorLockCluster, getPin)(JNIEnv * env, jobject self, jlong clus jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -6964,7 +6969,7 @@ JNI_METHOD(void, DoorLockCluster, getPin)(JNIEnv * env, jobject self, jlong clus } JNI_METHOD(void, DoorLockCluster, getRfid)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -6991,7 +6996,7 @@ JNI_METHOD(void, DoorLockCluster, getRfid)(JNIEnv * env, jobject self, jlong clu jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7009,7 +7014,7 @@ JNI_METHOD(void, DoorLockCluster, getRfid)(JNIEnv * env, jobject self, jlong clu } JNI_METHOD(void, DoorLockCluster, getUserType)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7036,7 +7041,7 @@ JNI_METHOD(void, DoorLockCluster, getUserType)(JNIEnv * env, jobject self, jlong jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7055,7 +7060,7 @@ JNI_METHOD(void, DoorLockCluster, getUserType)(JNIEnv * env, jobject self, jlong JNI_METHOD(void, DoorLockCluster, getWeekdaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7082,7 +7087,7 @@ JNI_METHOD(void, DoorLockCluster, getWeekdaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7101,7 +7106,7 @@ JNI_METHOD(void, DoorLockCluster, getWeekdaySchedule) JNI_METHOD(void, DoorLockCluster, getYeardaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId, jint userId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7128,7 +7133,7 @@ JNI_METHOD(void, DoorLockCluster, getYeardaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7146,7 +7151,7 @@ JNI_METHOD(void, DoorLockCluster, getYeardaySchedule) } JNI_METHOD(void, DoorLockCluster, lockDoor)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring pin) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7175,7 +7180,7 @@ JNI_METHOD(void, DoorLockCluster, lockDoor)(JNIEnv * env, jobject self, jlong cl jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7195,7 +7200,7 @@ JNI_METHOD(void, DoorLockCluster, setHolidaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId, jlong localStartTime, jlong localEndTime, jint operatingModeDuringHoliday) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7223,7 +7228,7 @@ JNI_METHOD(void, DoorLockCluster, setHolidaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7242,7 +7247,7 @@ JNI_METHOD(void, DoorLockCluster, setHolidaySchedule) JNI_METHOD(void, DoorLockCluster, setPin) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint userId, jint userStatus, jint userType, jstring pin) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7271,7 +7276,7 @@ JNI_METHOD(void, DoorLockCluster, setPin) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7290,7 +7295,7 @@ JNI_METHOD(void, DoorLockCluster, setPin) JNI_METHOD(void, DoorLockCluster, setRfid) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint userId, jint userStatus, jint userType, jstring id) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7319,7 +7324,7 @@ JNI_METHOD(void, DoorLockCluster, setRfid) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7338,7 +7343,7 @@ JNI_METHOD(void, DoorLockCluster, setRfid) JNI_METHOD(void, DoorLockCluster, setUserType) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint userId, jint userType) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7365,7 +7370,7 @@ JNI_METHOD(void, DoorLockCluster, setUserType) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7385,7 +7390,7 @@ JNI_METHOD(void, DoorLockCluster, setWeekdaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId, jint userId, jint daysMask, jint startHour, jint startMinute, jint endHour, jint endMinute) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7413,7 +7418,7 @@ JNI_METHOD(void, DoorLockCluster, setWeekdaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7433,7 +7438,7 @@ JNI_METHOD(void, DoorLockCluster, setYeardaySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint scheduleId, jint userId, jlong localStartTime, jlong localEndTime) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7461,7 +7466,7 @@ JNI_METHOD(void, DoorLockCluster, setYeardaySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7479,7 +7484,7 @@ JNI_METHOD(void, DoorLockCluster, setYeardaySchedule) } JNI_METHOD(void, DoorLockCluster, unlockDoor)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring pin) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7508,7 +7513,7 @@ JNI_METHOD(void, DoorLockCluster, unlockDoor)(JNIEnv * env, jobject self, jlong jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7527,7 +7532,7 @@ JNI_METHOD(void, DoorLockCluster, unlockDoor)(JNIEnv * env, jobject self, jlong JNI_METHOD(void, DoorLockCluster, unlockWithTimeout) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint timeoutInSeconds, jstring pin) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; DoorLockCluster * cppCluster; @@ -7556,7 +7561,7 @@ JNI_METHOD(void, DoorLockCluster, unlockWithTimeout) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7574,7 +7579,7 @@ JNI_METHOD(void, DoorLockCluster, unlockWithTimeout) } JNI_METHOD(jlong, EthernetNetworkDiagnosticsCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); EthernetNetworkDiagnosticsCluster * cppCluster = new EthernetNetworkDiagnosticsCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -7583,7 +7588,7 @@ JNI_METHOD(jlong, EthernetNetworkDiagnosticsCluster, initWithDevice)(JNIEnv * en JNI_METHOD(void, EthernetNetworkDiagnosticsCluster, resetCounts)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; EthernetNetworkDiagnosticsCluster * cppCluster; @@ -7610,7 +7615,7 @@ JNI_METHOD(void, EthernetNetworkDiagnosticsCluster, resetCounts)(JNIEnv * env, j jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7628,7 +7633,7 @@ JNI_METHOD(void, EthernetNetworkDiagnosticsCluster, resetCounts)(JNIEnv * env, j } JNI_METHOD(jlong, FixedLabelCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); FixedLabelCluster * cppCluster = new FixedLabelCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -7637,7 +7642,7 @@ JNI_METHOD(jlong, FixedLabelCluster, initWithDevice)(JNIEnv * env, jobject self, JNI_METHOD(jlong, GeneralCommissioningCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); GeneralCommissioningCluster * cppCluster = new GeneralCommissioningCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -7647,7 +7652,7 @@ JNI_METHOD(jlong, GeneralCommissioningCluster, initWithDevice)(JNIEnv * env, job JNI_METHOD(void, GeneralCommissioningCluster, armFailSafe) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint expiryLengthSeconds, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GeneralCommissioningCluster * cppCluster; @@ -7674,7 +7679,7 @@ JNI_METHOD(void, GeneralCommissioningCluster, armFailSafe) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7692,7 +7697,7 @@ JNI_METHOD(void, GeneralCommissioningCluster, armFailSafe) } JNI_METHOD(void, GeneralCommissioningCluster, commissioningComplete)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GeneralCommissioningCluster * cppCluster; @@ -7719,7 +7724,7 @@ JNI_METHOD(void, GeneralCommissioningCluster, commissioningComplete)(JNIEnv * en jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7739,7 +7744,7 @@ JNI_METHOD(void, GeneralCommissioningCluster, setRegulatoryConfig) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint location, jstring countryCode, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GeneralCommissioningCluster * cppCluster; @@ -7769,7 +7774,7 @@ JNI_METHOD(void, GeneralCommissioningCluster, setRegulatoryConfig) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7787,7 +7792,7 @@ JNI_METHOD(void, GeneralCommissioningCluster, setRegulatoryConfig) } JNI_METHOD(jlong, GeneralDiagnosticsCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); GeneralDiagnosticsCluster * cppCluster = new GeneralDiagnosticsCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -7796,7 +7801,7 @@ JNI_METHOD(jlong, GeneralDiagnosticsCluster, initWithDevice)(JNIEnv * env, jobje JNI_METHOD(jlong, GroupKeyManagementCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); GroupKeyManagementCluster * cppCluster = new GroupKeyManagementCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -7805,7 +7810,7 @@ JNI_METHOD(jlong, GroupKeyManagementCluster, initWithDevice)(JNIEnv * env, jobje JNI_METHOD(jlong, GroupsCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); GroupsCluster * cppCluster = new GroupsCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -7815,7 +7820,7 @@ JNI_METHOD(jlong, GroupsCluster, initWithDevice)(JNIEnv * env, jobject self, jlo JNI_METHOD(void, GroupsCluster, addGroup) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId, jstring groupName) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GroupsCluster * cppCluster; @@ -7844,7 +7849,7 @@ JNI_METHOD(void, GroupsCluster, addGroup) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7863,7 +7868,7 @@ JNI_METHOD(void, GroupsCluster, addGroup) JNI_METHOD(void, GroupsCluster, addGroupIfIdentifying) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId, jstring groupName) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GroupsCluster * cppCluster; @@ -7892,7 +7897,7 @@ JNI_METHOD(void, GroupsCluster, addGroupIfIdentifying) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7911,7 +7916,7 @@ JNI_METHOD(void, GroupsCluster, addGroupIfIdentifying) JNI_METHOD(void, GroupsCluster, getGroupMembership) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupCount, jint groupList) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GroupsCluster * cppCluster; @@ -7938,7 +7943,7 @@ JNI_METHOD(void, GroupsCluster, getGroupMembership) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -7956,7 +7961,7 @@ JNI_METHOD(void, GroupsCluster, getGroupMembership) } JNI_METHOD(void, GroupsCluster, removeAllGroups)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GroupsCluster * cppCluster; @@ -7983,7 +7988,7 @@ JNI_METHOD(void, GroupsCluster, removeAllGroups)(JNIEnv * env, jobject self, jlo jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8001,7 +8006,7 @@ JNI_METHOD(void, GroupsCluster, removeAllGroups)(JNIEnv * env, jobject self, jlo } JNI_METHOD(void, GroupsCluster, removeGroup)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GroupsCluster * cppCluster; @@ -8028,7 +8033,7 @@ JNI_METHOD(void, GroupsCluster, removeGroup)(JNIEnv * env, jobject self, jlong c jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8046,7 +8051,7 @@ JNI_METHOD(void, GroupsCluster, removeGroup)(JNIEnv * env, jobject self, jlong c } JNI_METHOD(void, GroupsCluster, viewGroup)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; GroupsCluster * cppCluster; @@ -8073,7 +8078,7 @@ JNI_METHOD(void, GroupsCluster, viewGroup)(JNIEnv * env, jobject self, jlong clu jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8091,7 +8096,7 @@ JNI_METHOD(void, GroupsCluster, viewGroup)(JNIEnv * env, jobject self, jlong clu } JNI_METHOD(jlong, IdentifyCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); IdentifyCluster * cppCluster = new IdentifyCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -8100,7 +8105,7 @@ JNI_METHOD(jlong, IdentifyCluster, initWithDevice)(JNIEnv * env, jobject self, j JNI_METHOD(void, IdentifyCluster, identify)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint identifyTime) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; IdentifyCluster * cppCluster; @@ -8127,7 +8132,7 @@ JNI_METHOD(void, IdentifyCluster, identify)(JNIEnv * env, jobject self, jlong cl jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8145,7 +8150,7 @@ JNI_METHOD(void, IdentifyCluster, identify)(JNIEnv * env, jobject self, jlong cl } JNI_METHOD(void, IdentifyCluster, identifyQuery)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; IdentifyCluster * cppCluster; @@ -8172,7 +8177,7 @@ JNI_METHOD(void, IdentifyCluster, identifyQuery)(JNIEnv * env, jobject self, jlo jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8190,7 +8195,7 @@ JNI_METHOD(void, IdentifyCluster, identifyQuery)(JNIEnv * env, jobject self, jlo } JNI_METHOD(jlong, KeypadInputCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); KeypadInputCluster * cppCluster = new KeypadInputCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -8199,7 +8204,7 @@ JNI_METHOD(jlong, KeypadInputCluster, initWithDevice)(JNIEnv * env, jobject self JNI_METHOD(void, KeypadInputCluster, sendKey)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint keyCode) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; KeypadInputCluster * cppCluster; @@ -8226,7 +8231,7 @@ JNI_METHOD(void, KeypadInputCluster, sendKey)(JNIEnv * env, jobject self, jlong jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8244,7 +8249,7 @@ JNI_METHOD(void, KeypadInputCluster, sendKey)(JNIEnv * env, jobject self, jlong } JNI_METHOD(jlong, LevelControlCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); LevelControlCluster * cppCluster = new LevelControlCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -8254,7 +8259,7 @@ JNI_METHOD(jlong, LevelControlCluster, initWithDevice)(JNIEnv * env, jobject sel JNI_METHOD(void, LevelControlCluster, move) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint moveMode, jint rate, jint optionMask, jint optionOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LevelControlCluster * cppCluster; @@ -8281,7 +8286,7 @@ JNI_METHOD(void, LevelControlCluster, move) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8301,7 +8306,7 @@ JNI_METHOD(void, LevelControlCluster, moveToLevel) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint level, jint transitionTime, jint optionMask, jint optionOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LevelControlCluster * cppCluster; @@ -8328,7 +8333,7 @@ JNI_METHOD(void, LevelControlCluster, moveToLevel) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8347,7 +8352,7 @@ JNI_METHOD(void, LevelControlCluster, moveToLevel) JNI_METHOD(void, LevelControlCluster, moveToLevelWithOnOff) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint level, jint transitionTime) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LevelControlCluster * cppCluster; @@ -8374,7 +8379,7 @@ JNI_METHOD(void, LevelControlCluster, moveToLevelWithOnOff) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8393,7 +8398,7 @@ JNI_METHOD(void, LevelControlCluster, moveToLevelWithOnOff) JNI_METHOD(void, LevelControlCluster, moveWithOnOff) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint moveMode, jint rate) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LevelControlCluster * cppCluster; @@ -8420,7 +8425,7 @@ JNI_METHOD(void, LevelControlCluster, moveWithOnOff) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8440,7 +8445,7 @@ JNI_METHOD(void, LevelControlCluster, step) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint stepMode, jint stepSize, jint transitionTime, jint optionMask, jint optionOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LevelControlCluster * cppCluster; @@ -8468,7 +8473,7 @@ JNI_METHOD(void, LevelControlCluster, step) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8487,7 +8492,7 @@ JNI_METHOD(void, LevelControlCluster, step) JNI_METHOD(void, LevelControlCluster, stepWithOnOff) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint stepMode, jint stepSize, jint transitionTime) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LevelControlCluster * cppCluster; @@ -8514,7 +8519,7 @@ JNI_METHOD(void, LevelControlCluster, stepWithOnOff) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8533,7 +8538,7 @@ JNI_METHOD(void, LevelControlCluster, stepWithOnOff) JNI_METHOD(void, LevelControlCluster, stop) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint optionMask, jint optionOverride) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LevelControlCluster * cppCluster; @@ -8560,7 +8565,7 @@ JNI_METHOD(void, LevelControlCluster, stop) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8578,7 +8583,7 @@ JNI_METHOD(void, LevelControlCluster, stop) } JNI_METHOD(void, LevelControlCluster, stopWithOnOff)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LevelControlCluster * cppCluster; @@ -8605,7 +8610,7 @@ JNI_METHOD(void, LevelControlCluster, stopWithOnOff)(JNIEnv * env, jobject self, jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8623,7 +8628,7 @@ JNI_METHOD(void, LevelControlCluster, stopWithOnOff)(JNIEnv * env, jobject self, } JNI_METHOD(jlong, LowPowerCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); LowPowerCluster * cppCluster = new LowPowerCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -8632,7 +8637,7 @@ JNI_METHOD(jlong, LowPowerCluster, initWithDevice)(JNIEnv * env, jobject self, j JNI_METHOD(void, LowPowerCluster, sleep)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; LowPowerCluster * cppCluster; @@ -8659,7 +8664,7 @@ JNI_METHOD(void, LowPowerCluster, sleep)(JNIEnv * env, jobject self, jlong clust jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8677,7 +8682,7 @@ JNI_METHOD(void, LowPowerCluster, sleep)(JNIEnv * env, jobject self, jlong clust } JNI_METHOD(jlong, MediaInputCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); MediaInputCluster * cppCluster = new MediaInputCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -8686,7 +8691,7 @@ JNI_METHOD(jlong, MediaInputCluster, initWithDevice)(JNIEnv * env, jobject self, JNI_METHOD(void, MediaInputCluster, hideInputStatus)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaInputCluster * cppCluster; @@ -8713,7 +8718,7 @@ JNI_METHOD(void, MediaInputCluster, hideInputStatus)(JNIEnv * env, jobject self, jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8732,7 +8737,7 @@ JNI_METHOD(void, MediaInputCluster, hideInputStatus)(JNIEnv * env, jobject self, JNI_METHOD(void, MediaInputCluster, renameInput) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint index, jstring name) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaInputCluster * cppCluster; @@ -8761,7 +8766,7 @@ JNI_METHOD(void, MediaInputCluster, renameInput) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8779,7 +8784,7 @@ JNI_METHOD(void, MediaInputCluster, renameInput) } JNI_METHOD(void, MediaInputCluster, selectInput)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint index) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaInputCluster * cppCluster; @@ -8806,7 +8811,7 @@ JNI_METHOD(void, MediaInputCluster, selectInput)(JNIEnv * env, jobject self, jlo jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8824,7 +8829,7 @@ JNI_METHOD(void, MediaInputCluster, selectInput)(JNIEnv * env, jobject self, jlo } JNI_METHOD(void, MediaInputCluster, showInputStatus)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaInputCluster * cppCluster; @@ -8851,7 +8856,7 @@ JNI_METHOD(void, MediaInputCluster, showInputStatus)(JNIEnv * env, jobject self, jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8869,7 +8874,7 @@ JNI_METHOD(void, MediaInputCluster, showInputStatus)(JNIEnv * env, jobject self, } JNI_METHOD(jlong, MediaPlaybackCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); MediaPlaybackCluster * cppCluster = new MediaPlaybackCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -8878,7 +8883,7 @@ JNI_METHOD(jlong, MediaPlaybackCluster, initWithDevice)(JNIEnv * env, jobject se JNI_METHOD(void, MediaPlaybackCluster, mediaFastForward)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -8905,7 +8910,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaFastForward)(JNIEnv * env, jobject s jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8923,7 +8928,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaFastForward)(JNIEnv * env, jobject s } JNI_METHOD(void, MediaPlaybackCluster, mediaNext)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -8950,7 +8955,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaNext)(JNIEnv * env, jobject self, jl jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -8968,7 +8973,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaNext)(JNIEnv * env, jobject self, jl } JNI_METHOD(void, MediaPlaybackCluster, mediaPause)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -8995,7 +9000,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaPause)(JNIEnv * env, jobject self, j jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9013,7 +9018,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaPause)(JNIEnv * env, jobject self, j } JNI_METHOD(void, MediaPlaybackCluster, mediaPlay)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -9040,7 +9045,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaPlay)(JNIEnv * env, jobject self, jl jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9058,7 +9063,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaPlay)(JNIEnv * env, jobject self, jl } JNI_METHOD(void, MediaPlaybackCluster, mediaPrevious)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -9085,7 +9090,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaPrevious)(JNIEnv * env, jobject self jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9103,7 +9108,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaPrevious)(JNIEnv * env, jobject self } JNI_METHOD(void, MediaPlaybackCluster, mediaRewind)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -9130,7 +9135,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaRewind)(JNIEnv * env, jobject self, jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9149,7 +9154,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaRewind)(JNIEnv * env, jobject self, JNI_METHOD(void, MediaPlaybackCluster, mediaSkipBackward) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jlong deltaPositionMilliseconds) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -9176,7 +9181,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaSkipBackward) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9195,7 +9200,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaSkipBackward) JNI_METHOD(void, MediaPlaybackCluster, mediaSkipForward) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jlong deltaPositionMilliseconds) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -9222,7 +9227,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaSkipForward) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9241,7 +9246,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaSkipForward) JNI_METHOD(void, MediaPlaybackCluster, mediaSkipSeek) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jlong position) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -9268,7 +9273,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaSkipSeek) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9286,7 +9291,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaSkipSeek) } JNI_METHOD(void, MediaPlaybackCluster, mediaStartOver)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -9313,7 +9318,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaStartOver)(JNIEnv * env, jobject sel jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9331,7 +9336,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaStartOver)(JNIEnv * env, jobject sel } JNI_METHOD(void, MediaPlaybackCluster, mediaStop)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; MediaPlaybackCluster * cppCluster; @@ -9358,7 +9363,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaStop)(JNIEnv * env, jobject self, jl jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9376,7 +9381,7 @@ JNI_METHOD(void, MediaPlaybackCluster, mediaStop)(JNIEnv * env, jobject self, jl } JNI_METHOD(jlong, NetworkCommissioningCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); NetworkCommissioningCluster * cppCluster = new NetworkCommissioningCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -9386,7 +9391,7 @@ JNI_METHOD(jlong, NetworkCommissioningCluster, initWithDevice)(JNIEnv * env, job JNI_METHOD(void, NetworkCommissioningCluster, addThreadNetwork) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray operationalDataset, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9416,7 +9421,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, addThreadNetwork) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9436,7 +9441,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, addWiFiNetwork) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray ssid, jbyteArray credentials, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9467,7 +9472,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, addWiFiNetwork) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9486,7 +9491,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, addWiFiNetwork) JNI_METHOD(void, NetworkCommissioningCluster, disableNetwork) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray networkID, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9516,7 +9521,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, disableNetwork) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9535,7 +9540,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, disableNetwork) JNI_METHOD(void, NetworkCommissioningCluster, enableNetwork) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray networkID, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9565,7 +9570,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, enableNetwork) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9584,7 +9589,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, enableNetwork) JNI_METHOD(void, NetworkCommissioningCluster, getLastNetworkCommissioningResult) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9611,7 +9616,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, getLastNetworkCommissioningResult) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9630,7 +9635,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, getLastNetworkCommissioningResult) JNI_METHOD(void, NetworkCommissioningCluster, removeNetwork) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray networkID, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9660,7 +9665,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, removeNetwork) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9679,7 +9684,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, removeNetwork) JNI_METHOD(void, NetworkCommissioningCluster, scanNetworks) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray ssid, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9708,7 +9713,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, scanNetworks) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9727,7 +9732,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, scanNetworks) JNI_METHOD(void, NetworkCommissioningCluster, updateThreadNetwork) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray operationalDataset, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9757,7 +9762,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, updateThreadNetwork) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9777,7 +9782,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, updateWiFiNetwork) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray ssid, jbyteArray credentials, jlong breadcrumb, jlong timeoutMs) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; NetworkCommissioningCluster * cppCluster; @@ -9808,7 +9813,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, updateWiFiNetwork) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9826,7 +9831,7 @@ JNI_METHOD(void, NetworkCommissioningCluster, updateWiFiNetwork) } JNI_METHOD(jlong, OtaSoftwareUpdateServerCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); OtaSoftwareUpdateServerCluster * cppCluster = new OtaSoftwareUpdateServerCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -9836,7 +9841,7 @@ JNI_METHOD(jlong, OtaSoftwareUpdateServerCluster, initWithDevice)(JNIEnv * env, JNI_METHOD(void, OtaSoftwareUpdateServerCluster, applyUpdateRequest) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray updateToken, jlong newVersion) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OtaSoftwareUpdateServerCluster * cppCluster; @@ -9866,7 +9871,7 @@ JNI_METHOD(void, OtaSoftwareUpdateServerCluster, applyUpdateRequest) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9885,7 +9890,7 @@ JNI_METHOD(void, OtaSoftwareUpdateServerCluster, applyUpdateRequest) JNI_METHOD(void, OtaSoftwareUpdateServerCluster, notifyUpdateApplied) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray updateToken, jlong currentVersion) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OtaSoftwareUpdateServerCluster * cppCluster; @@ -9915,7 +9920,7 @@ JNI_METHOD(void, OtaSoftwareUpdateServerCluster, notifyUpdateApplied) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9936,7 +9941,7 @@ JNI_METHOD(void, OtaSoftwareUpdateServerCluster, queryImage) jint hardwareVersion, jlong currentVersion, jint protocolsSupported, jstring location, jint clientCanConsent, jbyteArray metadataForServer) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OtaSoftwareUpdateServerCluster * cppCluster; @@ -9968,7 +9973,7 @@ JNI_METHOD(void, OtaSoftwareUpdateServerCluster, queryImage) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -9986,7 +9991,7 @@ JNI_METHOD(void, OtaSoftwareUpdateServerCluster, queryImage) } JNI_METHOD(jlong, OnOffCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); OnOffCluster * cppCluster = new OnOffCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -9995,7 +10000,7 @@ JNI_METHOD(jlong, OnOffCluster, initWithDevice)(JNIEnv * env, jobject self, jlon JNI_METHOD(void, OnOffCluster, off)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OnOffCluster * cppCluster; @@ -10022,7 +10027,7 @@ JNI_METHOD(void, OnOffCluster, off)(JNIEnv * env, jobject self, jlong clusterPtr jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10040,7 +10045,7 @@ JNI_METHOD(void, OnOffCluster, off)(JNIEnv * env, jobject self, jlong clusterPtr } JNI_METHOD(void, OnOffCluster, on)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OnOffCluster * cppCluster; @@ -10067,7 +10072,7 @@ JNI_METHOD(void, OnOffCluster, on)(JNIEnv * env, jobject self, jlong clusterPtr, jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10085,7 +10090,7 @@ JNI_METHOD(void, OnOffCluster, on)(JNIEnv * env, jobject self, jlong clusterPtr, } JNI_METHOD(void, OnOffCluster, toggle)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OnOffCluster * cppCluster; @@ -10112,7 +10117,7 @@ JNI_METHOD(void, OnOffCluster, toggle)(JNIEnv * env, jobject self, jlong cluster jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10130,7 +10135,7 @@ JNI_METHOD(void, OnOffCluster, toggle)(JNIEnv * env, jobject self, jlong cluster } JNI_METHOD(jlong, OperationalCredentialsCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); OperationalCredentialsCluster * cppCluster = new OperationalCredentialsCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -10141,7 +10146,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, addOpCert) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray operationalCert, jbyteArray iPKValue, jlong caseAdminNode, jint adminVendorId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OperationalCredentialsCluster * cppCluster; @@ -10173,7 +10178,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, addOpCert) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10192,7 +10197,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, addOpCert) JNI_METHOD(void, OperationalCredentialsCluster, addTrustedRootCertificate) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray rootCertificate) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OperationalCredentialsCluster * cppCluster; @@ -10222,7 +10227,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, addTrustedRootCertificate) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10241,7 +10246,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, addTrustedRootCertificate) JNI_METHOD(void, OperationalCredentialsCluster, opCSRRequest) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray cSRNonce) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OperationalCredentialsCluster * cppCluster; @@ -10270,7 +10275,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, opCSRRequest) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10288,7 +10293,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, opCSRRequest) } JNI_METHOD(void, OperationalCredentialsCluster, removeAllFabrics)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OperationalCredentialsCluster * cppCluster; @@ -10315,7 +10320,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, removeAllFabrics)(JNIEnv * env, jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10334,7 +10339,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, removeAllFabrics)(JNIEnv * env, JNI_METHOD(void, OperationalCredentialsCluster, removeFabric) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jlong fabricId, jlong nodeId, jint vendorId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OperationalCredentialsCluster * cppCluster; @@ -10361,7 +10366,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, removeFabric) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10380,7 +10385,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, removeFabric) JNI_METHOD(void, OperationalCredentialsCluster, removeTrustedRootCertificate) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jbyteArray trustedRootIdentifier) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OperationalCredentialsCluster * cppCluster; @@ -10410,7 +10415,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, removeTrustedRootCertificate) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10429,7 +10434,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, removeTrustedRootCertificate) JNI_METHOD(void, OperationalCredentialsCluster, setFabric) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint vendorId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OperationalCredentialsCluster * cppCluster; @@ -10456,7 +10461,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, setFabric) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10475,7 +10480,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, setFabric) JNI_METHOD(void, OperationalCredentialsCluster, updateFabricLabel) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring label) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; OperationalCredentialsCluster * cppCluster; @@ -10504,7 +10509,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, updateFabricLabel) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10522,7 +10527,7 @@ JNI_METHOD(void, OperationalCredentialsCluster, updateFabricLabel) } JNI_METHOD(jlong, PumpConfigurationAndControlCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); PumpConfigurationAndControlCluster * cppCluster = new PumpConfigurationAndControlCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -10531,7 +10536,7 @@ JNI_METHOD(jlong, PumpConfigurationAndControlCluster, initWithDevice)(JNIEnv * e JNI_METHOD(jlong, RelativeHumidityMeasurementCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); RelativeHumidityMeasurementCluster * cppCluster = new RelativeHumidityMeasurementCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -10540,7 +10545,7 @@ JNI_METHOD(jlong, RelativeHumidityMeasurementCluster, initWithDevice)(JNIEnv * e JNI_METHOD(jlong, ScenesCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ScenesCluster * cppCluster = new ScenesCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -10551,7 +10556,7 @@ JNI_METHOD(void, ScenesCluster, addScene) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId, jint sceneId, jint transitionTime, jstring sceneName, jint clusterId, jint length, jint value) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ScenesCluster * cppCluster; @@ -10580,7 +10585,7 @@ JNI_METHOD(void, ScenesCluster, addScene) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10598,7 +10603,7 @@ JNI_METHOD(void, ScenesCluster, addScene) } JNI_METHOD(void, ScenesCluster, getSceneMembership)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ScenesCluster * cppCluster; @@ -10625,7 +10630,7 @@ JNI_METHOD(void, ScenesCluster, getSceneMembership)(JNIEnv * env, jobject self, jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10644,7 +10649,7 @@ JNI_METHOD(void, ScenesCluster, getSceneMembership)(JNIEnv * env, jobject self, JNI_METHOD(void, ScenesCluster, recallScene) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId, jint sceneId, jint transitionTime) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ScenesCluster * cppCluster; @@ -10671,7 +10676,7 @@ JNI_METHOD(void, ScenesCluster, recallScene) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10689,7 +10694,7 @@ JNI_METHOD(void, ScenesCluster, recallScene) } JNI_METHOD(void, ScenesCluster, removeAllScenes)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ScenesCluster * cppCluster; @@ -10716,7 +10721,7 @@ JNI_METHOD(void, ScenesCluster, removeAllScenes)(JNIEnv * env, jobject self, jlo jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10735,7 +10740,7 @@ JNI_METHOD(void, ScenesCluster, removeAllScenes)(JNIEnv * env, jobject self, jlo JNI_METHOD(void, ScenesCluster, removeScene) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId, jint sceneId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ScenesCluster * cppCluster; @@ -10762,7 +10767,7 @@ JNI_METHOD(void, ScenesCluster, removeScene) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10781,7 +10786,7 @@ JNI_METHOD(void, ScenesCluster, removeScene) JNI_METHOD(void, ScenesCluster, storeScene) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId, jint sceneId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ScenesCluster * cppCluster; @@ -10808,7 +10813,7 @@ JNI_METHOD(void, ScenesCluster, storeScene) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10827,7 +10832,7 @@ JNI_METHOD(void, ScenesCluster, storeScene) JNI_METHOD(void, ScenesCluster, viewScene) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint groupId, jint sceneId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ScenesCluster * cppCluster; @@ -10854,7 +10859,7 @@ JNI_METHOD(void, ScenesCluster, viewScene) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10872,7 +10877,7 @@ JNI_METHOD(void, ScenesCluster, viewScene) } JNI_METHOD(jlong, SoftwareDiagnosticsCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); SoftwareDiagnosticsCluster * cppCluster = new SoftwareDiagnosticsCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -10881,7 +10886,7 @@ JNI_METHOD(jlong, SoftwareDiagnosticsCluster, initWithDevice)(JNIEnv * env, jobj JNI_METHOD(void, SoftwareDiagnosticsCluster, resetWatermarks)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; SoftwareDiagnosticsCluster * cppCluster; @@ -10908,7 +10913,7 @@ JNI_METHOD(void, SoftwareDiagnosticsCluster, resetWatermarks)(JNIEnv * env, jobj jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10926,7 +10931,7 @@ JNI_METHOD(void, SoftwareDiagnosticsCluster, resetWatermarks)(JNIEnv * env, jobj } JNI_METHOD(jlong, SwitchCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); SwitchCluster * cppCluster = new SwitchCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -10935,7 +10940,7 @@ JNI_METHOD(jlong, SwitchCluster, initWithDevice)(JNIEnv * env, jobject self, jlo JNI_METHOD(jlong, TvChannelCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); TvChannelCluster * cppCluster = new TvChannelCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -10944,7 +10949,7 @@ JNI_METHOD(jlong, TvChannelCluster, initWithDevice)(JNIEnv * env, jobject self, JNI_METHOD(void, TvChannelCluster, changeChannel)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring match) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; TvChannelCluster * cppCluster; @@ -10973,7 +10978,7 @@ JNI_METHOD(void, TvChannelCluster, changeChannel)(JNIEnv * env, jobject self, jl jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -10992,7 +10997,7 @@ JNI_METHOD(void, TvChannelCluster, changeChannel)(JNIEnv * env, jobject self, jl JNI_METHOD(void, TvChannelCluster, changeChannelByNumber) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint majorNumber, jint minorNumber) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; TvChannelCluster * cppCluster; @@ -11019,7 +11024,7 @@ JNI_METHOD(void, TvChannelCluster, changeChannelByNumber) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11037,7 +11042,7 @@ JNI_METHOD(void, TvChannelCluster, changeChannelByNumber) } JNI_METHOD(void, TvChannelCluster, skipChannel)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint count) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; TvChannelCluster * cppCluster; @@ -11064,7 +11069,7 @@ JNI_METHOD(void, TvChannelCluster, skipChannel)(JNIEnv * env, jobject self, jlon jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11082,7 +11087,7 @@ JNI_METHOD(void, TvChannelCluster, skipChannel)(JNIEnv * env, jobject self, jlon } JNI_METHOD(jlong, TargetNavigatorCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); TargetNavigatorCluster * cppCluster = new TargetNavigatorCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -11092,7 +11097,7 @@ JNI_METHOD(jlong, TargetNavigatorCluster, initWithDevice)(JNIEnv * env, jobject JNI_METHOD(void, TargetNavigatorCluster, navigateTarget) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint target, jstring data) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; TargetNavigatorCluster * cppCluster; @@ -11121,7 +11126,7 @@ JNI_METHOD(void, TargetNavigatorCluster, navigateTarget) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11139,7 +11144,7 @@ JNI_METHOD(void, TargetNavigatorCluster, navigateTarget) } JNI_METHOD(jlong, TemperatureMeasurementCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); TemperatureMeasurementCluster * cppCluster = new TemperatureMeasurementCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -11148,7 +11153,7 @@ JNI_METHOD(jlong, TemperatureMeasurementCluster, initWithDevice)(JNIEnv * env, j JNI_METHOD(jlong, TestClusterCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); TestClusterCluster * cppCluster = new TestClusterCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -11157,7 +11162,7 @@ JNI_METHOD(jlong, TestClusterCluster, initWithDevice)(JNIEnv * env, jobject self JNI_METHOD(void, TestClusterCluster, test)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; TestClusterCluster * cppCluster; @@ -11184,7 +11189,7 @@ JNI_METHOD(void, TestClusterCluster, test)(JNIEnv * env, jobject self, jlong clu jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11202,7 +11207,7 @@ JNI_METHOD(void, TestClusterCluster, test)(JNIEnv * env, jobject self, jlong clu } JNI_METHOD(void, TestClusterCluster, testNotHandled)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; TestClusterCluster * cppCluster; @@ -11229,7 +11234,7 @@ JNI_METHOD(void, TestClusterCluster, testNotHandled)(JNIEnv * env, jobject self, jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11247,7 +11252,7 @@ JNI_METHOD(void, TestClusterCluster, testNotHandled)(JNIEnv * env, jobject self, } JNI_METHOD(void, TestClusterCluster, testSpecific)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; TestClusterCluster * cppCluster; @@ -11274,7 +11279,7 @@ JNI_METHOD(void, TestClusterCluster, testSpecific)(JNIEnv * env, jobject self, j jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11292,7 +11297,7 @@ JNI_METHOD(void, TestClusterCluster, testSpecific)(JNIEnv * env, jobject self, j } JNI_METHOD(void, TestClusterCluster, testUnknownCommand)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; TestClusterCluster * cppCluster; @@ -11319,7 +11324,7 @@ JNI_METHOD(void, TestClusterCluster, testUnknownCommand)(JNIEnv * env, jobject s jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11337,7 +11342,7 @@ JNI_METHOD(void, TestClusterCluster, testUnknownCommand)(JNIEnv * env, jobject s } JNI_METHOD(jlong, ThermostatCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ThermostatCluster * cppCluster = new ThermostatCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -11346,7 +11351,7 @@ JNI_METHOD(jlong, ThermostatCluster, initWithDevice)(JNIEnv * env, jobject self, JNI_METHOD(void, ThermostatCluster, clearWeeklySchedule)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ThermostatCluster * cppCluster; @@ -11373,7 +11378,7 @@ JNI_METHOD(void, ThermostatCluster, clearWeeklySchedule)(JNIEnv * env, jobject s jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11391,7 +11396,7 @@ JNI_METHOD(void, ThermostatCluster, clearWeeklySchedule)(JNIEnv * env, jobject s } JNI_METHOD(void, ThermostatCluster, getRelayStatusLog)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ThermostatCluster * cppCluster; @@ -11418,7 +11423,7 @@ JNI_METHOD(void, ThermostatCluster, getRelayStatusLog)(JNIEnv * env, jobject sel jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11437,7 +11442,7 @@ JNI_METHOD(void, ThermostatCluster, getRelayStatusLog)(JNIEnv * env, jobject sel JNI_METHOD(void, ThermostatCluster, getWeeklySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint daysToReturn, jint modeToReturn) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ThermostatCluster * cppCluster; @@ -11464,7 +11469,7 @@ JNI_METHOD(void, ThermostatCluster, getWeeklySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11484,7 +11489,7 @@ JNI_METHOD(void, ThermostatCluster, setWeeklySchedule) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint numberOfTransitionsForSequence, jint dayOfWeekForSequence, jint modeForSequence, jint payload) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ThermostatCluster * cppCluster; @@ -11512,7 +11517,7 @@ JNI_METHOD(void, ThermostatCluster, setWeeklySchedule) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11531,7 +11536,7 @@ JNI_METHOD(void, ThermostatCluster, setWeeklySchedule) JNI_METHOD(void, ThermostatCluster, setpointRaiseLower) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint mode, jint amount) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ThermostatCluster * cppCluster; @@ -11558,7 +11563,7 @@ JNI_METHOD(void, ThermostatCluster, setpointRaiseLower) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11576,7 +11581,7 @@ JNI_METHOD(void, ThermostatCluster, setpointRaiseLower) } JNI_METHOD(jlong, ThreadNetworkDiagnosticsCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ThreadNetworkDiagnosticsCluster * cppCluster = new ThreadNetworkDiagnosticsCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -11585,7 +11590,7 @@ JNI_METHOD(jlong, ThreadNetworkDiagnosticsCluster, initWithDevice)(JNIEnv * env, JNI_METHOD(void, ThreadNetworkDiagnosticsCluster, resetCounts)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; ThreadNetworkDiagnosticsCluster * cppCluster; @@ -11612,7 +11617,7 @@ JNI_METHOD(void, ThreadNetworkDiagnosticsCluster, resetCounts)(JNIEnv * env, job jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11630,7 +11635,7 @@ JNI_METHOD(void, ThreadNetworkDiagnosticsCluster, resetCounts)(JNIEnv * env, job } JNI_METHOD(jlong, WakeOnLanCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); WakeOnLanCluster * cppCluster = new WakeOnLanCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -11639,7 +11644,7 @@ JNI_METHOD(jlong, WakeOnLanCluster, initWithDevice)(JNIEnv * env, jobject self, JNI_METHOD(jlong, WindowCoveringCluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); WindowCoveringCluster * cppCluster = new WindowCoveringCluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -11648,7 +11653,7 @@ JNI_METHOD(jlong, WindowCoveringCluster, initWithDevice)(JNIEnv * env, jobject s JNI_METHOD(void, WindowCoveringCluster, windowCoveringDownClose)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; WindowCoveringCluster * cppCluster; @@ -11675,7 +11680,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringDownClose)(JNIEnv * env, j jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11694,7 +11699,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringDownClose)(JNIEnv * env, j JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToLiftPercentage) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint percentageLiftValue) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; WindowCoveringCluster * cppCluster; @@ -11721,7 +11726,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToLiftPercentage) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11740,7 +11745,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToLiftPercentage) JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToLiftValue) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint liftValue) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; WindowCoveringCluster * cppCluster; @@ -11767,7 +11772,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToLiftValue) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11786,7 +11791,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToLiftValue) JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToTiltPercentage) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint percentageTiltValue) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; WindowCoveringCluster * cppCluster; @@ -11813,7 +11818,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToTiltPercentage) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11832,7 +11837,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToTiltPercentage) JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToTiltValue) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint tiltValue) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; WindowCoveringCluster * cppCluster; @@ -11859,7 +11864,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToTiltValue) jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11877,7 +11882,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringGoToTiltValue) } JNI_METHOD(void, WindowCoveringCluster, windowCoveringStop)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; WindowCoveringCluster * cppCluster; @@ -11904,7 +11909,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringStop)(JNIEnv * env, jobjec jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); @@ -11922,7 +11927,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringStop)(JNIEnv * env, jobjec } JNI_METHOD(void, WindowCoveringCluster, windowCoveringUpOpen)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; WindowCoveringCluster * cppCluster; @@ -11949,7 +11954,7 @@ JNI_METHOD(void, WindowCoveringCluster, windowCoveringUpOpen)(JNIEnv * env, jobj jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); diff --git a/src/controller/java/templates/CHIPClusters-JNI.zapt b/src/controller/java/templates/CHIPClusters-JNI.zapt index 995bdba6e70216..34e41b8e74c01a 100644 --- a/src/controller/java/templates/CHIPClusters-JNI.zapt +++ b/src/controller/java/templates/CHIPClusters-JNI.zapt @@ -25,14 +25,17 @@ static CHIP_ERROR CreateIllegalStateException(JNIEnv * env, const char message[] CHIP_ERROR CreateChipClusterException(JNIEnv * env, jint errorCode, jthrowable & outEx) { CHIP_ERROR err = CHIP_NO_ERROR; jmethodID exceptionConstructor; + jclass clusterExceptionCls; + + err = JniReferences::GetInstance().GetClassRef(env, "chip/devicecontroller/ChipClusterException", clusterExceptionCls); + VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_JNI_ERROR_TYPE_NOT_FOUND); - exceptionConstructor = env->GetMethodID(JniReferences::GetClusterExceptionCls(), "", "(I)V"); - VerifyOrExit(exceptionConstructor != nullptr, err = CHIP_JNI_ERROR_TYPE_NOT_FOUND); + exceptionConstructor = env->GetMethodID(clusterExceptionCls, "", "(I)V"); + VerifyOrReturnError(exceptionConstructor != nullptr, CHIP_JNI_ERROR_TYPE_NOT_FOUND); - outEx = (jthrowable) env->NewObject(JniReferences::GetClusterExceptionCls(), exceptionConstructor, errorCode); - VerifyOrExit(outEx != nullptr, err = CHIP_JNI_ERROR_TYPE_NOT_FOUND); + outEx = (jthrowable) env->NewObject(clusterExceptionCls, exceptionConstructor, errorCode); + VerifyOrReturnError(outEx != nullptr, CHIP_JNI_ERROR_TYPE_NOT_FOUND); -exit: return err; } @@ -42,7 +45,7 @@ CHIP_ERROR CreateIllegalStateException(JNIEnv * env, const char message[], jint jclass exceptionClass; jstring errStr; - err = GetClassRef(env, "java/lang/IllegalStateException", exceptionClass); + err = JniReferences::GetInstance().GetClassRef(env, "java/lang/IllegalStateException", exceptionClass); SuccessOrExit(err); exceptionConstructor = env->GetMethodID(exceptionClass, "", "(Ljava/lang/String;)V"); @@ -63,7 +66,7 @@ class CHIPDefaultSuccessCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); return; @@ -76,7 +79,7 @@ class CHIPDefaultSuccessCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "()V", &javaMethod); SuccessOrExit(err); env->ExceptionClear(); @@ -126,7 +129,7 @@ class CHIPDefaultFailureCallback : public Callback::Callback(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); return; @@ -139,7 +142,7 @@ class CHIPDefaultFailureCallback : public Callback::CallbackjavaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onError", "(Ljava/lang/Exception;)V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onError", "(Ljava/lang/Exception;)V", &javaMethod); SuccessOrExit(err); err = CreateChipClusterException(env, status, exception); @@ -201,7 +204,7 @@ class CHIP{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Ca public: CHIP{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Callback(jobject javaCallback): Callback::Callback<{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Callback>(CallbackFn, this) { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); return; @@ -214,7 +217,7 @@ class CHIP{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Ca } ~CHIP{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Callback() { - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { ChipLogError(Zcl, "Could not create global reference for Java callback"); return; @@ -224,9 +227,9 @@ class CHIP{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Ca static void CallbackFn(void * context{{#zcl_command_arguments}}{{#unless (isStrEqual label "status")}}, {{#if (isOctetString type)}}chip::ByteSpan{{else}}{{asUnderlyingZclType type}}{{/if}} {{asSymbol label}}{{/unless}}{{/zcl_command_arguments}}) { - StackUnlockGuard unlockGuard(JniReferences::GetStackLock()); + StackUnlockGuard unlockGuard(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; - JNIEnv * env = JniReferences::GetEnvForCurrentThread(); + JNIEnv * env = JniReferences::GetInstance().GetEnvForCurrentThread(); jobject javaCallbackRef; jmethodID javaMethod; CHIP{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Callback * cppCallback = nullptr; @@ -249,7 +252,7 @@ class CHIP{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Ca javaCallbackRef = cppCallback->javaCallbackRef; VerifyOrExit(javaCallbackRef != nullptr, err = CHIP_NO_ERROR); - err = FindMethod(env, javaCallbackRef, "onSuccess", "({{#zcl_command_arguments}}{{#unless (isStrEqual label "status")}}{{#if isArray}}{{else if (isOctetString type)}}[B{{else if (isShortString type)}}Ljava/lang/String;{{else}}{{asJniSignature label type}}{{/if}}{{/unless}}{{/zcl_command_arguments}})V", &javaMethod); + err = JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "({{#zcl_command_arguments}}{{#unless (isStrEqual label "status")}}{{#if isArray}}{{else if (isOctetString type)}}[B{{else if (isShortString type)}}Ljava/lang/String;{{else}}{{asJniSignature label type}}{{/if}}{{/unless}}{{/zcl_command_arguments}})V", &javaMethod); SuccessOrExit(err); {{#zcl_command_arguments}} @@ -311,7 +314,7 @@ class CHIP{{asCamelCased parent.name false}}Cluster{{asCamelCased name false}}Ca {{/all_user_clusters}} JNI_METHOD(void, BaseChipCluster, deleteCluster)(JNIEnv * env, jobject self, jlong clusterPtr) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); ClusterBase * cluster = reinterpret_cast(clusterPtr); if (cluster != nullptr) { delete cluster; @@ -321,7 +324,7 @@ JNI_METHOD(void, BaseChipCluster, deleteCluster)(JNIEnv * env, jobject self, jlo {{#chip_client_clusters}} JNI_METHOD(jlong, {{asCamelCased name false}}Cluster, initWithDevice)(JNIEnv * env, jobject self, jlong devicePtr, jint endpointId) { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); {{asCamelCased name false}}Cluster * cppCluster = new {{asCamelCased name false}}Cluster(); cppCluster->Associate(reinterpret_cast(devicePtr), endpointId); @@ -335,7 +338,7 @@ JNI_METHOD(void, {{asCamelCased ../name false}}Cluster, {{asCamelCased name}})(J JNI_METHOD(void, {{asCamelCased ../name false}}Cluster, {{asCamelCased name}})(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback) {{/if}} { - StackLockGuard lock(JniReferences::GetStackLock()); + StackLockGuard lock(JniReferences::GetInstance().GetStackLock()); CHIP_ERROR err = CHIP_NO_ERROR; {{asCamelCased ../name false}}Cluster * cppCluster; @@ -376,7 +379,7 @@ exit: jthrowable exception; jmethodID method; - err = FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); + err = JniReferences::GetInstance().FindMethod(env, callback, "onError", "(Ljava/lang/Exception;)V", &method); if (err != CHIP_NO_ERROR) { ChipLogError(Zcl, "Error throwing IllegalStateException %d", err); return;