X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Fip_adapter%2Fandroid%2Fcaipnwmonitor.c;h=f6ebf6b5d726a7f8ce27f198af8ac04845a6d688;hb=1cee1631595cac6a6394ac2e0b365c6dd5a42c68;hp=359811070d2c90350a9e4f205bc107b0a81971b2;hpb=390866079e285d2c74918432c0d597d5da52f8a0;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/ip_adapter/android/caipnwmonitor.c b/resource/csdk/connectivity/src/ip_adapter/android/caipnwmonitor.c index 3598110..f6ebf6b 100644 --- a/resource/csdk/connectivity/src/ip_adapter/android/caipnwmonitor.c +++ b/resource/csdk/connectivity/src/ip_adapter/android/caipnwmonitor.c @@ -38,6 +38,8 @@ #define TAG "OIC_CA_IP_MONITOR" +static CAIPConnectionStateChangeCallback g_networkChangeCallback; + static CAInterface_t *CANewInterfaceItem(int index, const char *name, int family, uint32_t addr, int flags); @@ -69,6 +71,11 @@ int CAGetPollingInterval(int interval) return interval; } +void CAIPSetNetworkMonitorCallback(CAIPConnectionStateChangeCallback callback) +{ + g_networkChangeCallback = callback; +} + CAInterface_t *CAFindInterfaceChange() { char buf[MAX_INTERFACE_INFO_LENGTH] = { 0 }; @@ -444,9 +451,9 @@ Java_org_iotivity_ca_CaIpInterface_caIpStateEnabled(JNIEnv *env, jclass class) { (void)env; (void)class; - OIC_LOG(DEBUG, TAG, "caIpStateEnabled"); - CAWakeUpForChange(); + OIC_LOG(DEBUG, TAG, "Wifi is in Activated State"); + g_networkChangeCallback(CA_ADAPTER_IP, CA_INTERFACE_UP); } JNIEXPORT void JNICALL @@ -454,13 +461,7 @@ Java_org_iotivity_ca_CaIpInterface_caIpStateDisabled(JNIEnv *env, jclass class) { (void)env; (void)class; - OIC_LOG(DEBUG, TAG, "caIpStateDisabled"); - u_arraylist_t *iflist = CAIPGetInterfaceInformation(0); - if (!iflist) - { - OIC_LOG_V(ERROR, TAG, "get interface info failed"); - return; - } - u_arraylist_destroy(iflist); + OIC_LOG(DEBUG, TAG, "Wifi is in Deactivated State"); + g_networkChangeCallback(CA_ADAPTER_IP, CA_INTERFACE_DOWN); }