summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPyun DoHyun <dh79.pyun@samsung.com>2021-06-01 22:52:48 +0000
committerGerrit Code Review <gerrit@review>2021-06-01 22:52:48 +0000
commit15d26d6cc462717f1be48fb360c2329fb1bc7604 (patch)
tree5971f7710a5a48499dfdb074217cbaa1c30d8cdc
parent7a265c127f77580ed75418aad17bf6473c854950 (diff)
parentaec9f15613f33627a16718a13e7bb88d4aacc373 (diff)
downloaduser-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-xsrc/user-awareness-device.c51
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);