X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Fbt_edr_adapter%2Fandroid%2Fcaedrnwmonitor.c;h=c2e17e941be01a08d79fcc751d520555f9da1c51;hb=7f00f942c39b7bc27c7eeecf213a239c3fe4173c;hp=de187d83e948713fb7eee2ad536bcc33b8565116;hpb=0e7762704ad69d816015184a55177d17c701188b;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/bt_edr_adapter/android/caedrnwmonitor.c b/resource/csdk/connectivity/src/bt_edr_adapter/android/caedrnwmonitor.c index de187d8..c2e17e9 100644 --- a/resource/csdk/connectivity/src/bt_edr_adapter/android/caedrnwmonitor.c +++ b/resource/csdk/connectivity/src/bt_edr_adapter/android/caedrnwmonitor.c @@ -27,7 +27,7 @@ #include "logger.h" #include "oic_malloc.h" #include "cathreadpool.h" /* for thread pool */ -#include "camutex.h" +#include "octhread.h" #include "uarraylist.h" #include "caadapterutils.h" #include "caedrserver.h" @@ -59,8 +59,6 @@ void CAEDRNetworkMonitorJniInit() CAResult_t CAEDRInitializeNetworkMonitor(const ca_thread_pool_t threadPool) { - OIC_LOG(DEBUG, TAG, "IN"); - if (!threadPool) { return CA_STATUS_FAILED; @@ -71,7 +69,6 @@ CAResult_t CAEDRInitializeNetworkMonitor(const ca_thread_pool_t threadPool) CANativeJNIGetJavaVM(); } - OIC_LOG(DEBUG, TAG, "OUT"); return CA_STATUS_OK; } @@ -83,32 +80,20 @@ void CAEDRSetNetworkChangeCallback(CAEDRNetworkStatusCallback networkChangeCallb void CAEDRTerminateNetworkMonitor(void) { - OIC_LOG(DEBUG, TAG, "IN"); - - OIC_LOG(DEBUG, TAG, "OUT"); } CAResult_t CAEDRStartNetworkMonitor() { - OIC_LOG(DEBUG, TAG, "IN"); - - OIC_LOG(DEBUG, TAG, "OUT"); return CA_STATUS_OK; } CAResult_t CAEDRStopNetworkMonitor() { - OIC_LOG(DEBUG, TAG, "IN"); - - OIC_LOG(DEBUG, TAG, "OUT"); return CA_STATUS_OK; } CAResult_t CAEDRClientSetCallbacks(void) { - OIC_LOG(DEBUG, TAG, "IN"); - - OIC_LOG(DEBUG, TAG, "OUT"); return CA_STATUS_OK; } @@ -134,21 +119,21 @@ Java_org_iotivity_ca_CaEdrInterface_caEdrStateChangedCallback(JNIEnv *env, jobje jclass jni_cid_BTAdapter = (*env)->FindClass(env, CLASSPATH_BT_ADPATER); if (!jni_cid_BTAdapter) { - OIC_LOG(ERROR, TAG, "[EDR][Native] jni_cid_BTAdapter is null"); + OIC_LOG(ERROR, TAG, "jni_cid_BTAdapter is null"); return; } jfieldID id_state_on = (*env)->GetStaticFieldID(env, jni_cid_BTAdapter, "STATE_ON", "I"); if (!id_state_on) { - OIC_LOG(ERROR, TAG, "[EDR][Native] id_state_on is null"); + OIC_LOG(ERROR, TAG, "id_state_on is null"); return; } jfieldID id_state_off = (*env)->GetStaticFieldID(env, jni_cid_BTAdapter, "STATE_OFF", "I"); if (!id_state_off) { - OIC_LOG(ERROR, TAG, "[EDR][Native] id_state_off is null"); + OIC_LOG(ERROR, TAG, "id_state_off is null"); return; } @@ -159,10 +144,10 @@ Java_org_iotivity_ca_CaEdrInterface_caEdrStateChangedCallback(JNIEnv *env, jobje { CANetworkStatus_t newStatus = CA_INTERFACE_UP; - CAResult_t res = CAEDRStartUnicastServer(false); + CAResult_t res = CAEDRStartReceiveThread(false); if (CA_STATUS_OK != res) { - OIC_LOG(ERROR, TAG, "CAEDRStartUnicastServer failed"); + OIC_LOG(ERROR, TAG, "Failed to CAEDRStartReceiveThread"); return; } CAEDRServerStartAcceptThread(); @@ -197,3 +182,32 @@ Java_org_iotivity_ca_CaEdrInterface_caEdrBondStateChangedCallback(JNIEnv *env, j CAEDRNativeRemoveDevice(addr); } } + +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); + } +}