From bb2749ac8f5d354fdace40a0205976cdaa962021 Mon Sep 17 00:00:00 2001 From: "hyuna0213.jo" Date: Wed, 18 Nov 2015 17:50:02 +0900 Subject: [PATCH] Set transport flag according to adapter type in CA Sample transportflag is always set with CA_IPV4. so I fixed CA Sample to set the flag according to transport adapter. Change-Id: I1bc7a86a193355365b2602d88130405e8c7ab187 Signed-off-by: hyuna0213.jo Reviewed-on: https://gerrit.iotivity.org/gerrit/4263 Tested-by: jenkins-iotivity Reviewed-by: Jon A. Cruz --- .../sampleService/src/main/jni/ResourceModel.c | 22 ++++++++++++---------- .../csdk/connectivity/samples/linux/sample_main.c | 20 ++++++++++---------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/resource/csdk/connectivity/samples/android/casample/sampleService/src/main/jni/ResourceModel.c b/resource/csdk/connectivity/samples/android/casample/sampleService/src/main/jni/ResourceModel.c index 8296951..f7d9738 100644 --- a/resource/csdk/connectivity/samples/android/casample/sampleService/src/main/jni/ResourceModel.c +++ b/resource/csdk/connectivity/samples/android/casample/sampleService/src/main/jni/ResourceModel.c @@ -43,7 +43,7 @@ static void response_handler(const CAEndpoint_t* object, const CAResponseInfo_t* static void error_handler(const CAEndpoint_t *object, const CAErrorInfo_t* errorInfo); static void get_resource_uri(const char *URI, char *resourceURI, int32_t length); static uint32_t get_secure_information(CAPayload_t payLoad); -static CAResult_t get_network_type(uint32_t selectedNetwork); +static CAResult_t get_network_type(uint32_t selectedNetwork, CATransportFlags_t *flags); static void callback(char *subject, char *receivedData); static CAResult_t get_remote_address(const char *address); static void parsing_coap_uri(const char* uri, addressSet_t* address, CATransportFlags_t *flags); @@ -297,7 +297,8 @@ Java_org_iotivity_ca_service_RMInterface_RMSendRequest(JNIEnv *env, jobject obj, return; } - CAResult_t res = get_network_type(selectedNetwork); + CATransportFlags_t flags = CA_DEFAULT_FLAGS; + CAResult_t res = get_network_type(selectedNetwork, &flags); if (CA_STATUS_OK != res) { return; @@ -306,7 +307,6 @@ Java_org_iotivity_ca_service_RMInterface_RMSendRequest(JNIEnv *env, jobject obj, const char* strUri = (*env)->GetStringUTFChars(env, uri, NULL); LOGI("RMSendRequest - %s", strUri); - CATransportFlags_t flags; addressSet_t address = {{0}, 0}; parsing_coap_uri(strUri, &address, &flags); @@ -465,7 +465,8 @@ Java_org_iotivity_ca_service_RMInterface_RMSendReqestToAll(JNIEnv *env, jobject return; } - CAResult_t res = get_network_type(selectedNetwork); + CATransportFlags_t flags = CA_DEFAULT_FLAGS; + CAResult_t res = get_network_type(selectedNetwork, &flags); if (CA_STATUS_OK != res) { return; @@ -473,7 +474,7 @@ Java_org_iotivity_ca_service_RMInterface_RMSendReqestToAll(JNIEnv *env, jobject // create remote endpoint CAEndpoint_t *endpoint = NULL; - res = CACreateEndpoint(CA_IPV4, g_selectedNwType, NULL, 0, &endpoint); + res = CACreateEndpoint(flags, g_selectedNwType, NULL, 0, &endpoint); if (CA_STATUS_OK != res) { @@ -575,7 +576,8 @@ Java_org_iotivity_ca_service_RMInterface_RMSendResponse(JNIEnv *env, jobject obj LOGI("selectedNetwork - %d", selectedNetwork); - CAResult_t res = get_network_type(selectedNetwork); + CATransportFlags_t flags = CA_DEFAULT_FLAGS; + CAResult_t res = get_network_type(selectedNetwork, &flags); if (CA_STATUS_OK != res) { LOGE("Not supported network type"); @@ -668,7 +670,8 @@ Java_org_iotivity_ca_service_RMInterface_RMSendNotification(JNIEnv *env, jobject return; } - CAResult_t res = get_network_type(selectedNetwork); + CATransportFlags_t flags = CA_DEFAULT_FLAGS; + CAResult_t res = get_network_type(selectedNetwork, &flags); if (CA_STATUS_OK != res) { LOGE("Not supported network type"); @@ -678,7 +681,6 @@ Java_org_iotivity_ca_service_RMInterface_RMSendNotification(JNIEnv *env, jobject const char* strUri = (*env)->GetStringUTFChars(env, uri, NULL); LOGI("RMSendNotification - %s", strUri); - CATransportFlags_t flags; addressSet_t address = {{0}, 0}; parsing_coap_uri(strUri, &address, &flags); @@ -1373,7 +1375,7 @@ uint32_t get_secure_information(CAPayload_t payLoad) return atoi(portStr); } -CAResult_t get_network_type(uint32_t selectedNetwork) +CAResult_t get_network_type(uint32_t selectedNetwork, CATransportFlags_t *flags) { uint32_t number = selectedNetwork; @@ -1384,6 +1386,7 @@ CAResult_t get_network_type(uint32_t selectedNetwork) } if (number & CA_ADAPTER_IP) { + *flags = CA_IPV4; g_selectedNwType = CA_ADAPTER_IP; return CA_STATUS_OK; } @@ -1503,7 +1506,6 @@ void parsing_coap_uri(const char* uri, addressSet_t* address, CATransportFlags_t { LOGI("uri has '%s' prefix", COAP_PREFIX); startIndex = COAP_PREFIX_LEN; - *flags = CA_IPV4; } // #2. copy uri for parse diff --git a/resource/csdk/connectivity/samples/linux/sample_main.c b/resource/csdk/connectivity/samples/linux/sample_main.c index d717f0f..0a465f2 100644 --- a/resource/csdk/connectivity/samples/linux/sample_main.c +++ b/resource/csdk/connectivity/samples/linux/sample_main.c @@ -64,7 +64,7 @@ typedef struct char get_menu(); void process(); -CAResult_t get_network_type(); +CAResult_t get_network_type(CATransportFlags_t *flags); CAResult_t get_input_data(char *buf, int32_t length); bool select_payload_type(); @@ -378,7 +378,8 @@ CAPayload_t get_binary_payload(size_t *payloadLength) void send_request() { - CAResult_t res = get_network_type(); + CATransportFlags_t flags = CA_DEFAULT_FLAGS; + CAResult_t res = get_network_type(&flags); if (CA_STATUS_OK != res) { return; @@ -418,7 +419,6 @@ void send_request() // create remote endpoint CAEndpoint_t *endpoint = NULL; - CATransportFlags_t flags; printf("URI : %s\n", uri); addressSet_t address = {{}, 0}; @@ -628,7 +628,8 @@ exit: void send_request_all() { - CAResult_t res = get_network_type(); + CATransportFlags_t flags = CA_DEFAULT_FLAGS; + CAResult_t res = get_network_type(&flags); if (CA_STATUS_OK != res) { return; @@ -646,7 +647,7 @@ void send_request_all() // create remote endpoint CAEndpoint_t *group = NULL; - res = CACreateEndpoint(CA_IPV4, g_selected_nw_type, NULL, 0, &group); + res = CACreateEndpoint(flags, g_selected_nw_type, NULL, 0, &group); if (CA_STATUS_OK != res) { printf("Create remote endpoint error, error code: %d\n", res); @@ -713,7 +714,8 @@ void send_request_all() void send_notification() { - CAResult_t res = get_network_type(); + CATransportFlags_t flags = CA_DEFAULT_FLAGS; + CAResult_t res = get_network_type(&flags); if (CA_STATUS_OK != res) { return; @@ -748,7 +750,6 @@ void send_notification() int messageType = messageTypeBuf[0] - '0'; - CATransportFlags_t flags; addressSet_t address = {{}, 0}; parsing_coap_uri(uri, &address, &flags); @@ -1380,7 +1381,7 @@ void get_resource_uri(char *URI, char *resourceURI, int length) printf("URI: %s, ResourceURI:%s\n", URI, resourceURI); } -CAResult_t get_network_type() +CAResult_t get_network_type(CATransportFlags_t *flags) { char buf[MAX_BUF_LEN] = { 0 }; @@ -1404,6 +1405,7 @@ CAResult_t get_network_type() switch (number) { case CA_ADAPTER_IP: + *flags = CA_IPV4; case CA_ADAPTER_GATT_BTLE: case CA_ADAPTER_RFCOMM_BTEDR: case CA_ADAPTER_TCP: @@ -1515,13 +1517,11 @@ void parsing_coap_uri(const char* uri, addressSet_t* address, CATransportFlags_t { printf("uri has '%s' prefix\n", COAP_PREFIX); startIndex = COAP_PREFIX_LEN; - *flags = CA_IPV4; } else if (strncmp(COAP_TCP_PREFIX, uri, COAP_TCP_PREFIX_LEN) == 0) { printf("uri has '%s' prefix\n", COAP_TCP_PREFIX); startIndex = COAP_TCP_PREFIX_LEN; - *flags = CA_IPV4; } // #2. copy uri for parse -- 2.7.4