comp-manager: fix issue that timeout is not applied.
authorsaerome.kim <saerome.kim@samsung.com>
Mon, 29 Jan 2018 12:52:31 +0000 (21:52 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Mon, 2 Jul 2018 10:38:47 +0000 (19:38 +0900)
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
src/companion-manager/src/comp_iot.c

index c64daff..deeee4c 100644 (file)
@@ -29,7 +29,6 @@ int comp_iot_initialize()
                LOG_ERR("iotcon_initialize: Failed %s", get_error_message(ret));
                return false;
        }
-
        LOG_DEBUG("iotcon_initialize : %s", get_error_message(ret));
 
        OicUuid_t uuid;
@@ -208,6 +207,8 @@ static void _request_handler(iotcon_resource_h resource, iotcon_request_h reques
                        iotcon_response_destroy(response);
                        return;
                }
+
+               iotcon_response_destroy(response);
        }
 }
 
@@ -331,14 +332,28 @@ static void _on_get(iotcon_remote_resource_h resource, iotcon_error_e err,
 {
        last_get_result = err;
 
-       iotcon_remote_resource_destroy(resource);
+       int ret;
+       iotcon_response_result_e response_result;
 
-       _clear_user_data(user_data);
+       ret = iotcon_response_get_result(response, &response_result);
+       if (IOTCON_ERROR_NONE != ret) {
+               LOG_ERR("iotcon_response_get_result() Fail(%d)", ret);
+               return;
+       }
 
-       LOG_DEBUG("iotcon error : %d", err);
-       if (IOTCON_ERROR_NONE != err)
+       if (IOTCON_RESPONSE_OK != response_result) {
+               LOG_ERR("_on_get Response error(%d)", response_result);
                return;
+       }
+
+       /* get the resource host address */
+       char *resource_host = NULL;
+       iotcon_remote_resource_get_host_address(resource, &resource_host);
+       LOG_DEBUG("resource host : %s", resource_host);
 
+       iotcon_remote_resource_destroy(resource);
+
+       _clear_user_data(user_data);
 }
 
 static bool _found_resource(iotcon_remote_resource_h resource,
@@ -479,6 +494,8 @@ static bool _found_resource(iotcon_remote_resource_h resource,
                                 _clear_user_data(cmd);
                                 return IOTCON_FUNC_CONTINUE;
                        }
+
+                       iotcon_query_destroy(query);
                }
 
        }
@@ -538,6 +555,11 @@ int comp_iot_discovery_resource(comp_resource_type_e resource_type, int timeout,
 
        LOG_DEBUG("Set Resource Type : %s", get_error_message(ret));
 
+       ret = iotcon_set_timeout(timeout);
+       if (IOTCON_ERROR_NONE != ret) {
+               LOG_ERR("iotcon_set_timeout: Failed %s", get_error_message(ret));
+       }
+
        if (cmd && (g_strcmp0(cmd->command, COMP_REQ_CREATE_GROUP) == 0 ||
                 g_strcmp0(cmd->command, COMP_REQ_SEND_DATA) == 0))
                ret = iotcon_find_resource(cmd->host,