diff options
author | Pyun DoHyun <dh79.pyun@samsung.com> | 2021-06-01 22:52:48 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@review> | 2021-06-01 22:52:48 +0000 |
commit | 15d26d6cc462717f1be48fb360c2329fb1bc7604 (patch) | |
tree | 5971f7710a5a48499dfdb074217cbaa1c30d8cdc | |
parent | 7a265c127f77580ed75418aad17bf6473c854950 (diff) | |
parent | aec9f15613f33627a16718a13e7bb88d4aacc373 (diff) | |
download | user-awareness-15d26d6cc462717f1be48fb360c2329fb1bc7604.tar.gz user-awareness-15d26d6cc462717f1be48fb360c2329fb1bc7604.tar.bz2 user-awareness-15d26d6cc462717f1be48fb360c2329fb1bc7604.zip |
Merge "Fix API to get device list for user" into tizensubmit/tizen/20210601.231319
-rwxr-xr-x | src/user-awareness-device.c | 51 |
1 files changed, 10 insertions, 41 deletions
diff --git a/src/user-awareness-device.c b/src/user-awareness-device.c index d564045..9239327 100755 --- a/src/user-awareness-device.c +++ b/src/user-awareness-device.c @@ -192,6 +192,7 @@ void _ua_free_ua_device_info_t(gpointer data) g_free(device->device_id); g_free(device); + device = NULL; FUNC_EXIT; } @@ -346,7 +347,8 @@ int _ua_foreach_devices_by_user( devices_list = g_ptr_array_new(); retv_if(NULL == devices_list, UA_ERROR_OUT_OF_MEMORY); - ret = _ua_get_error_code(_uam_request_get_user_devices(user->account, &devices_list)); + ret = _ua_get_error_code(_uam_request_get_user_devices( + user->account, &devices_list)); if (UA_ERROR_NONE != ret) { UA_ERR("Failed with error: %s(0x%X)", _ua_get_error_string(ret), ret); @@ -359,45 +361,9 @@ int _ua_foreach_devices_by_user( ptr = g_ptr_array_index(devices_list, i); if (ptr) { ua_dev_info_s* device_info; - device_info = g_malloc0(sizeof(ua_dev_info_s)); - if (!device_info) { - UA_ERR("g_malloc0 failed"); - ret = UA_ERROR_OUT_OF_MEMORY; - goto done; - } - - device_info->mac = g_strdup(ptr->mac); - if (device_info->mac == NULL) { - UA_ERR("g_malloc0 failed"); - ret = UA_ERROR_OUT_OF_MEMORY; - _ua_free_ua_device_info_t((gpointer)device_info); - goto done; - } - - device_info->ipv4 = g_strdup(ptr->ipv4_addr); - if (device_info->ipv4 == NULL) { - UA_ERR("g_malloc0 failed"); - ret = UA_ERROR_OUT_OF_MEMORY; - _ua_free_ua_device_info_t((gpointer)device_info); - goto done; - } - - device_info->device_id = g_strdup(ptr->device_id); - if (device_info->device_id == NULL) { - UA_ERR("g_malloc0 failed"); - ret = UA_ERROR_OUT_OF_MEMORY; - _ua_free_ua_device_info_t((gpointer)device_info); - goto done; - } - - device_info->isadded = true; - device_info->handle = (ua_device_h)device_info; - device_info->type = _to_ua_mac_type(ptr->type); - device_info->os = ptr->operating_system; - device_info->last_seen = ptr->last_seen; - device_info->discriminant = ptr->discriminant; - device_info->user = (ua_user_h)user; - user_devices_list = g_slist_append(user_devices_list, device_info); + device_info = __ua_add_device_info_to_list(ptr); + user_devices_list = g_slist_append( + user_devices_list, device_info); } else { UA_ERR("OPERATION_FAILED(0x%08x)", UA_ERROR_OPERATION_FAILED); @@ -414,13 +380,16 @@ int _ua_foreach_devices_by_user( if (NULL == u) continue; + if (!(u->isadded)) + continue; + if (!foreach_cb(u->handle, user_data)) break; /* LCOV_EXCL_STOP */ } done: - g_slist_free_full(user_devices_list, _ua_free_ua_device_info_t); + g_slist_free(user_devices_list); g_ptr_array_foreach(devices_list, (GFunc)g_free, NULL); g_ptr_array_free(devices_list, TRUE); |