void CAEDRNativeAddDeviceSocketToList(JNIEnv *env, jobject deviceSocket) { OIC_LOG(DEBUG, TAG, "CANativeAddDeviceobjToList"); if (!deviceSocket) { OIC_LOG(ERROR, TAG, "Device is null"); return; } if (!g_deviceObjectList) { OIC_LOG(ERROR, TAG, "gdeviceObjectList is null"); return; } jstring jni_remoteAddress = CAEDRNativeGetAddressFromDeviceSocket(env, deviceSocket); if (!jni_remoteAddress) { OIC_LOG(ERROR, TAG, "jni_remoteAddress is null"); return; } const char* remoteAddress = (*env)->GetStringUTFChars(env, jni_remoteAddress, NULL); if (!CAEDRNativeIsDeviceSocketInList(env, remoteAddress)) { jobject gDeviceSocker = (*env)->NewGlobalRef(env, deviceSocket); u_arraylist_add(g_deviceObjectList, gDeviceSocker); OIC_LOG(DEBUG, TAG, "Set Socket Object to Array"); } (*env)->ReleaseStringUTFChars(env, jni_remoteAddress, remoteAddress); (*env)->DeleteLocalRef(env, jni_remoteAddress); }
void CAEDRNativeAddDeviceSocketToList(JNIEnv *env, jobject deviceSocket) { OIC_LOG(DEBUG, TAG, "[EDR][Native] CANativeAddDeviceobjToList"); if(!deviceSocket) { OIC_LOG(ERROR, TAG, "[EDR][Native] Device is null"); return; } if(!g_deviceObjectList) { OIC_LOG(ERROR, TAG, "[EDR][Native] gdeviceObjectList is null"); return; } jstring jni_remoteAddress = CAEDRNativeGetAddressFromDeviceSocket(env, deviceSocket); if(!jni_remoteAddress) { OIC_LOG(ERROR, TAG, "[EDR][Native] jni_remoteAddress is null"); return; } u_mutex_lock(g_mutexSocketListManager); const char* remoteAddress = (*env)->GetStringUTFChars(env, jni_remoteAddress, NULL); if(!CAEDRNativeIsDeviceSocketInList(env, remoteAddress)) { jobject gDeviceSocker = (*env)->NewGlobalRef(env, deviceSocket); u_arraylist_add(g_deviceObjectList, gDeviceSocker); OIC_LOG(DEBUG, TAG, "Set Socket Object to Array"); } u_mutex_unlock(g_mutexSocketListManager); }