X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Fadapter_util%2Fcaadapterutils.c;h=be740981099e079aa2284cce91fae09156dff93d;hb=refs%2Ftags%2Ftizen_4.0.m2_release;hp=9ddc7e8aa0cd0d51904afea1200cf5df0e6becb1;hpb=5b285e73548cac989ef00461e1a96bc60b613ae1;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/adapter_util/caadapterutils.c b/resource/csdk/connectivity/src/adapter_util/caadapterutils.c index 9ddc7e8..be74098 100644 --- a/resource/csdk/connectivity/src/adapter_util/caadapterutils.c +++ b/resource/csdk/connectivity/src/adapter_util/caadapterutils.c @@ -18,6 +18,7 @@ * ******************************************************************/ +#include "iotivity_config.h" #include "caadapterutils.h" #include @@ -176,7 +177,7 @@ void CAConvertNameToAddr(const char *host, uint16_t port, struct sockaddr_storag VERIFY_NON_NULL_VOID(host, CA_ADAPTER_UTILS_TAG, "host is null"); VERIFY_NON_NULL_VOID(sockaddr, CA_ADAPTER_UTILS_TAG, "sockaddr is null"); - struct addrinfo *addrs; + struct addrinfo *addrs = NULL; struct addrinfo hints = { .ai_family = AF_UNSPEC, .ai_socktype = SOCK_DGRAM, .ai_flags = AI_NUMERICHOST }; @@ -184,6 +185,10 @@ void CAConvertNameToAddr(const char *host, uint16_t port, struct sockaddr_storag int r = getaddrinfo(host, NULL, &hints, &addrs); if (r) { + if (NULL != addrs) + { + freeaddrinfo(addrs); + } #if defined(EAI_SYSTEM) if (EAI_SYSTEM == r) { @@ -295,6 +300,7 @@ jmethodID CAGetJNIMethodID(JNIEnv *env, const char* className, if (!jni_cid) { OIC_LOG_V(ERROR, CA_ADAPTER_UTILS_TAG, "jni_cid [%s] is null", className); + CACheckJNIException(env); return NULL; } @@ -302,6 +308,7 @@ jmethodID CAGetJNIMethodID(JNIEnv *env, const char* className, if (!jni_midID) { OIC_LOG_V(ERROR, CA_ADAPTER_UTILS_TAG, "jni_midID [%s] is null", methodName); + CACheckJNIException(env); (*env)->DeleteLocalRef(env, jni_cid); return NULL; } @@ -310,6 +317,17 @@ jmethodID CAGetJNIMethodID(JNIEnv *env, const char* className, return jni_midID; } +bool CACheckJNIException(JNIEnv *env) +{ + if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + return true; + } + return false; +} + void CADeleteGlobalReferences(JNIEnv *env) { if (g_Context) @@ -325,3 +343,75 @@ void CADeleteGlobalReferences(JNIEnv *env) } } #endif + +#ifndef WITH_ARDUINO +void CALogAdapterStateInfo(CATransportAdapter_t adapter, CANetworkStatus_t state) +{ + OIC_LOG(DEBUG, CA_ADAPTER_UTILS_TAG, "CALogAdapterStateInfo"); + OIC_LOG(DEBUG, ANALYZER_TAG, "================================================="); + CALogAdapterTypeInfo(adapter); + if (CA_INTERFACE_UP == state) + { + OIC_LOG(INFO, ANALYZER_TAG, "adapter status is changed to CA_INTERFACE_UP"); + } + else + { + OIC_LOG(INFO, ANALYZER_TAG, "adapter status is changed to CA_INTERFACE_DOWN"); + } + OIC_LOG(DEBUG, ANALYZER_TAG, "================================================="); +} + +void CALogSendStateInfo(CATransportAdapter_t adapter, + const char *addr, uint16_t port, ssize_t sentLen, + bool isSuccess, const char* message) +{ + OIC_LOG(DEBUG, CA_ADAPTER_UTILS_TAG, "CALogSendStateInfo"); + OIC_LOG(DEBUG, ANALYZER_TAG, "================================================="); + + if (true == isSuccess) + { + OIC_LOG_V(INFO, ANALYZER_TAG, "Send Success, sent length = [%d]", sentLen); + } + else + { + OIC_LOG_V(INFO, ANALYZER_TAG, "Send Failure, error message = [%s]", + message != NULL ? message : "no message"); + } + + CALogAdapterTypeInfo(adapter); + OIC_LOG_V(INFO, ANALYZER_TAG, "Address = [%s]:[%d]", addr, port); + OIC_LOG(DEBUG, ANALYZER_TAG, "================================================="); + + // samsung log + if (true == isSuccess) + { + OIC_LOG_V(INFO, CA_ADAPTER_UTILS_TAG, "| Analyzer(Retail) | %02x", 1); + } + else + { + OIC_LOG_V(INFO, CA_ADAPTER_UTILS_TAG, "| Analyzer(Retail) | %02x", 0); + } +} + +void CALogAdapterTypeInfo(CATransportAdapter_t adapter) +{ + switch(adapter) + { + case CA_ADAPTER_IP: + OIC_LOG(INFO, ANALYZER_TAG, "Transport Type = [OC_ADAPTER_IP]"); + break; + case CA_ADAPTER_TCP: + OIC_LOG(INFO, ANALYZER_TAG, "Transport Type = [OC_ADAPTER_TCP]"); + break; + case CA_ADAPTER_GATT_BTLE: + OIC_LOG(INFO, ANALYZER_TAG, "Transport Type = [OC_ADAPTER_GATT_BTLE]"); + break; + case CA_ADAPTER_RFCOMM_BTEDR: + OIC_LOG(INFO, ANALYZER_TAG, "Transport Type = [OC_ADAPTER_RFCOMM_BTEDR]"); + break; + default: + OIC_LOG_V(INFO, ANALYZER_TAG, "Transport Type = [%d]", adapter); + break; + } +} +#endif