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.
return ret;
}
-/*
ua_payload_info_s* _ua_payload_clone(ua_payload_info_s *org_payload)
{
FUNC_ENTRY;
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;
}
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");
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;
+}
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;
}
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, },
-//};