Implement get APIs to get payload information in ua-test app
authorAbhay agarwal <ay.agarwal@samsung.com>
Wed, 18 Dec 2019 03:54:18 +0000 (09:24 +0530)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Mon, 30 Dec 2019 07:45:56 +0000 (16:45 +0900)
Get APIs implemented for payload
- ua_payload_get_primary_key()
- ua_payload_get_secondary_key()
- ua_payload_get_device_uid()
- ua_payload_get_device_icon()

Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
include/user-awareness.h
src/user-awareness-payload.c
test/uat-payload.c

index 98bc85b37e64d6131626d50be0d315cd9d245625..038e221b8c66413dfd25e880f3ba5f95c79dd114 100644 (file)
@@ -2796,6 +2796,33 @@ int ua_device_foreach_added_by_user(
 int ua_payload_create(
                ua_payload_h * payload_handle);
 
+/**
+ * @ingroup CAPI_NETWORK_UA_MODULE
+ * @brief Clones payload handle if application wants to store it after foreach user
+ *        handles. It should be call before foreach callback return.
+ * @since_tizen 5.5
+ *
+ * @remarks The @a cloned should be released using #ua_payload_destroy().
+ *
+ * @param[out] cloned The cloned payload handle.
+ * @param[in] origin The input payload handle
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #UA_ERROR_NONE Successful
+ * @retval #UA_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #UA_ERROR_OUT_OF_MEMORY Out of memory
+ *
+ * @exception
+ * @pre
+ * @post
+ *
+ * @see ua_payload_add()
+ * @see ua_payload_add_service()
+ * @see ua_payload_destroy()
+ */
+int ua_payload_clone(
+               ua_payload_h *cloned, ua_payload_h origin);
+
 /**
  * @ingroup CAPI_NETWORK_UA_MODULE
  * @brief Destroys the payload handle.
index b4c5973a459f49ab462ada4c706e32a49cf43eb3..e1972b92dc84d487fc31fd4f1cf18a5497471593 100644 (file)
@@ -374,7 +374,6 @@ int ua_payload_foreach_added(
        return ret;
 }
 
-/*
 ua_payload_info_s* _ua_payload_clone(ua_payload_info_s *org_payload)
 {
        FUNC_ENTRY;
@@ -410,74 +409,72 @@ ua_payload_info_s* _ua_payload_clone(ua_payload_info_s *org_payload)
        return payload;
 }
 
-int ua_payload_get_primary_key(
-               ua_device_h handle,
-               char *primary_key)
+int ua_payload_clone(ua_payload_h *dst, ua_payload_h src)
 {
        FUNC_ENTRY;
-       ua_dev_info_s *device = (ua_dev_info_s *)handle;
+       ua_payload_info_s *payload_dst = NULL;
+       ua_payload_info_s *payload_src = src;
 
-       UA_VALIDATE_INPUT_PARAMETER(handle);
-       UA_VALIDATE_INPUT_PARAMETER(primary_key);
-       UA_PRINT_DEVICE_HANDLE(handle);
-       retv_if(device->type != UA_MAC_TYPE_BLE, UA_ERROR_INVALID_PARAMETER);
+       UA_VALIDATE_INPUT_PARAMETER(dst);
+       UA_VALIDATE_INPUT_PARAMETER(src);
 
-       if (!device->payload) {
-               *primary_key = 0x00;
-               UA_DBG("payload(primary_key) is not found");
-               goto done;
+       payload_dst = _ua_payload_clone(payload_src);
+       if (payload_dst == NULL && payload_src) {
+               UA_ERR("g_malloc0 failed");
+               return UA_ERROR_OUT_OF_MEMORY;
        }
 
-       *primary_key = device->payload->primary_key;
 
-done:
+       /* Add payload to list of payloads*/
+       *dst = (ua_payload_h)payload_dst;
+       payload_dst->handle = (ua_payload_h)payload_dst;
+
        FUNC_EXIT;
        return UA_ERROR_NONE;
 }
 
-int ua_payload_get_device_icon(
-               ua_device_h handle,
-               char *device_icon)
+int ua_payload_get_primary_key(
+               ua_payload_h handle,
+               char *primary_key)
 {
        FUNC_ENTRY;
-       ua_dev_info_s *device = (ua_dev_info_s *)handle;
+       ua_payload_info_s *payload = (ua_payload_info_s *)handle;
 
        UA_VALIDATE_INPUT_PARAMETER(handle);
-       UA_VALIDATE_INPUT_PARAMETER(device_icon);
-       UA_PRINT_DEVICE_HANDLE(handle);
-       retv_if(device->type != UA_MAC_TYPE_BLE, UA_ERROR_INVALID_PARAMETER);
+       UA_VALIDATE_INPUT_PARAMETER(primary_key);
+       UA_PRINT_PAYLOAD_HANDLE(handle);
 
-       if (!device->payload) {
-               *device_icon = 0x00;
-               UA_DBG("payload(device_icon) is not found");
+       if (!payload) {
+               *primary_key = 0x00;
+               UA_DBG("payload(primary_key) is not found");
                goto done;
        }
 
-       *device_icon = device->payload->device_icon;
+       *primary_key = payload->primary_key;
 
 done:
        FUNC_EXIT;
        return UA_ERROR_NONE;
 }
+
 int ua_payload_get_secondary_key(
-               ua_device_h handle,
+               ua_payload_h handle,
                char *secondary_key)
 {
        FUNC_ENTRY;
-       ua_dev_info_s *device = (ua_dev_info_s *)handle;
+       ua_payload_info_s *payload = (ua_payload_info_s *)handle;
 
        UA_VALIDATE_INPUT_PARAMETER(handle);
        UA_VALIDATE_INPUT_PARAMETER(secondary_key);
-       UA_PRINT_DEVICE_HANDLE(handle);
-       retv_if(device->type != UA_MAC_TYPE_BLE, UA_ERROR_INVALID_PARAMETER);
+       UA_PRINT_PAYLOAD_HANDLE(handle);
 
-       if (!device->payload) {
+       if (!payload) {
                *secondary_key = 0x00;
                UA_DBG("payload(secondary_key) is not found");
                goto done;
        }
 
-       *secondary_key = device->payload->secondary_key;
+       *secondary_key = payload->secondary_key;
 
 done:
        FUNC_EXIT;
@@ -485,24 +482,23 @@ done:
 }
 
 int ua_payload_get_device_uid(
-               ua_device_h handle,
+               ua_payload_h handle,
                char **device_uid)
 {
        FUNC_ENTRY;
-       ua_dev_info_s *device = (ua_dev_info_s *)handle;
+       ua_payload_info_s *payload = (ua_payload_info_s *)handle;
 
        UA_VALIDATE_INPUT_PARAMETER(handle);
        UA_VALIDATE_INPUT_PARAMETER(device_uid);
-       UA_PRINT_DEVICE_HANDLE(handle);
-       retv_if(device->type != UA_MAC_TYPE_BLE, UA_ERROR_INVALID_PARAMETER);
+       UA_PRINT_PAYLOAD_HANDLE(handle);
 
-       if (!device->payload || !device->payload->device_uid) {
+       if (!payload || !payload->device_uid) {
                *device_uid = NULL;
                UA_DBG("payload(device_uid) is not found");
                goto done;
        }
 
-       *device_uid = g_memdup(device->payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_LEN);
+       *device_uid = g_memdup(payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_LEN);
        if (*device_uid == NULL) {
                // LCOV_EXCL_START
                UA_ERR("g_memdup failed");
@@ -514,4 +510,27 @@ done:
        FUNC_EXIT;
        return UA_ERROR_NONE;
 }
-*/
+
+int ua_payload_get_device_icon(
+               ua_payload_h handle,
+               char *device_icon)
+{
+       FUNC_ENTRY;
+       ua_payload_info_s *payload = (ua_payload_info_s *)handle;
+
+       UA_VALIDATE_INPUT_PARAMETER(handle);
+       UA_VALIDATE_INPUT_PARAMETER(device_icon);
+       UA_PRINT_PAYLOAD_HANDLE(handle);
+
+       if (!payload) {
+               *device_icon = 0x00;
+               UA_DBG("payload(device_icon) is not found");
+               goto done;
+       }
+
+       *device_icon = payload->device_icon;
+
+done:
+       FUNC_EXIT;
+       return UA_ERROR_NONE;
+}
index 2f7ded182e31e64632da4774263ab9f82442043b..39666839341e231f2fe1299c225cef8ff5e07a29 100644 (file)
@@ -221,44 +221,45 @@ static int run_ua_payload_add_service(
 static bool __foreach_added_payload_cb(
        ua_payload_h payload_handle, void *user_data)
 {
-/*
        int ret = UA_ERROR_NONE;
-       ua_user_h handle = NULL;
-       char *account = NULL;
-       char *name = NULL;
-       unsigned long long last_seen = 0;
+       ua_payload_h handle = NULL;
+       char primary_key = 0;
+       char secondary_key = 0;
+       char *device_uid = NULL;
+       char device_icon = 0;
 
-       if (!user_handle) {
-               msgr("user_handle is NULL");
+       if (!payload_handle) {
+               msgr("payload_handle is NULL");
                return true;
        }
 
-       ret = ua_user_clone(&handle, user_handle);
+       ret = ua_payload_clone(&handle, payload_handle);
        if (UA_ERROR_NONE != ret) {
-               msgr("ua_user_clone() result: [0x%X] [%s]",
+               msgr("ua_payload_clone() result: [0x%X] [%s]",
                        ret, uat_get_error_str(ret));
        }
 
-       user_list = g_slist_append(user_list, handle);
-       idx_user++;
+       payload_list = g_slist_append(payload_list, handle);
+       idx_payload++;
 
-       ret = ua_user_get_account(handle, &account);
+       ret = ua_payload_get_primary_key(handle, &primary_key);
        if (UA_ERROR_NONE == ret) {
-               msglr("[%d]", idx_user);
-               msglr("User account info %s", account);
-               g_free(account);
+               msglr("[%d]", idx_payload);
+               msglr("Payload primary_key : %d", primary_key);
        }
 
-       ret = ua_user_get_name(handle, &name);
+       ret = ua_payload_get_secondary_key(handle, &secondary_key);
+       if (UA_ERROR_NONE == ret)
+               msglr("Payload secondary key : %d", secondary_key);
+
+       ret = ua_payload_get_device_uid(handle, &device_uid);
        if (UA_ERROR_NONE == ret) {
-               msglr("User Name : %s", name);
-               g_free(name);
+               msglr("Payload device uid %s", device_uid);
        }
 
-       ret = ua_user_get_last_presence(handle, &last_seen);
+       ret = ua_payload_get_device_icon(handle, &secondary_key);
        if (UA_ERROR_NONE == ret)
-               msglr("last present at %llu", last_seen);
-*/
+               msglr("Payload device icon : %d", device_icon);
 
        return true;
 }
@@ -376,9 +377,3 @@ struct menu_data menu_ua_payloads[] = {
                menu_sel_added_payload, NULL, NULL },
        { NULL, NULL, },
 };
-
-//struct menu_data menu_sel_payload[] = {
-//     { "1", "User list", NULL, run_ua_payload_foreach_added, g_selected_payload_idx},
-//     { "2", "Apply", NULL, uat_select_payload , NULL },
-//     { NULL, NULL, },
-//};