+
+JNIEXPORT void JNICALL
+Java_org_iotivity_ca_CaEdrInterface_caEdrConnectionStateChangedCallback(JNIEnv *env,
+ jobject obj,
+ jstring addr,
+ jint isConnected)
+{
+ if (!env || !obj || !addr)
+ {
+ OIC_LOG(ERROR, TAG, "parameter is null");
+ return;
+ }
+
+ OIC_LOG_V(DEBUG, TAG, "CaEdrInterface - Connection State Changed : %d", isConnected);
+
+ if (!isConnected)
+ {
+ const char *address = (*env)->GetStringUTFChars(env, addr, NULL);
+ if (!address)
+ {
+ OIC_LOG(ERROR, TAG, "address is null");
+ return;
+ }
+
+ CAEDRNativeRemoveDeviceSocketBaseAddr(env, addr);
+ CAEDRNativeRemoveDevice(address);
+ (*env)->ReleaseStringUTFChars(env, addr, address);
+ }
+}