JNIEXPORT void JNICALL Java_org_iotivity_ca_CaLeClientInterface_caLeStateChangedCallback(JNIEnv *env, jobject obj, jint status) { VERIFY_NON_NULL_VOID(env, TAG, "env is null"); VERIFY_NON_NULL_VOID(obj, TAG, "obj is null"); OIC_LOG(DEBUG, TAG, "CaLeClientInterface - Network State Changed"); if (!gCALEDeviceStateChangedCallback) { OIC_LOG(ERROR, TAG, "gNetworkChangeCb is null"); return; } if (BT_STATE_ON == status) // STATE_ON:12 { CANetworkStatus_t newStatus = CA_INTERFACE_UP; CALEClientCreateDeviceList(); CALEServerCreateCachedDeviceList(); gCALEDeviceStateChangedCallback(newStatus); } else if (BT_STATE_OFF == status) // STATE_OFF:10 { CALEClientStopMulticastServer(); // remove obj for client CAResult_t res = CALEClientRemoveAllGattObjs(env); if (CA_STATUS_OK != res) { OIC_LOG(ERROR, TAG, "CALEClientRemoveAllGattObjs has failed"); } res = CALEClientRemoveAllScanDevices(env); if (CA_STATUS_OK != res) { OIC_LOG(ERROR, TAG, "CALEClientRemoveAllScanDevices has failed"); } res = CALEClientRemoveAllDeviceState(); if (CA_STATUS_OK != res) { OIC_LOG(ERROR, TAG, "CALEClientRemoveAllDeviceState has failed"); } // remove obej for server res = CALEServerRemoveAllDevices(env); if (CA_STATUS_OK != res) { OIC_LOG(ERROR, TAG, "CALEServerRemoveAllDevices has failed"); } CALEClientSetScanFlag(false); CANetworkStatus_t newStatus = CA_INTERFACE_DOWN; gCALEDeviceStateChangedCallback(newStatus); } }
JNIEXPORT void JNICALL Java_org_iotivity_jar_caleclientinterface_CALeStateChangedCallback(JNIEnv *env, jobject obj, jint status) { VERIFY_NON_NULL_VOID(env, TAG, "env is null"); OIC_LOG(DEBUG, TAG, "caleclientinterface - Network State Changed"); if (!gCALEDeviceStateChangedCallback) { OIC_LOG_V(ERROR, TAG, "gNetworkChangeCb is null", status); } if (BT_STATE_ON == status) // STATE_ON:12 { CANetworkStatus_t newStatus = CA_INTERFACE_UP; gCALEDeviceStateChangedCallback(newStatus); } else if (BT_STATE_OFF == status) // STATE_OFF:10 { // remove obj for client CAResult_t res = CALEClientRemoveAllGattObjs(env); if (CA_STATUS_OK != res) { OIC_LOG(ERROR, TAG, "CALEClientRemoveAllGattObjs has failed"); } res = CALEClientRemoveAllScanDevices(env); if (CA_STATUS_OK != res) { OIC_LOG(ERROR, TAG, "CALEClientRemoveAllScanDevices has failed"); } // remove obej for server res = CALEServerRemoveAllDevices(env); if (CA_STATUS_OK != res) { OIC_LOG(ERROR, TAG, "CALEServerRemoveAllDevices has failed"); } CANetworkStatus_t newStatus = CA_INTERFACE_DOWN; gCALEDeviceStateChangedCallback(newStatus); } }