ua_payload_h handle,
char *secondary_key);
+/**
+ * @ingroup CAPI_NETWORK_UA_MODULE
+ * @brief Gets device's BLE payload user_data.
+ * @since_tizen 5.5
+ *
+ * @param[in] handle The payload handle.
+ * @param[out] user_data The BLE payload user_data.
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #UA_ERROR_NONE Successful
+ * @retval #UA_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @exception
+ * @pre
+ * @post
+ *
+ */
+int ua_payload_get_user_data(
+ ua_payload_h handle,
+ char **user_data);
+
/**
* @ingroup CAPI_NETWORK_UA_MODULE
* @brief Gets device's BLE payload DEVICE_UID.
{
FUNC_ENTRY;
ua_payload_info_s *payload = NULL;
+ int user_data_len = 0;
retv_if(NULL == uam_payload, NULL);
payload->device_icon = uam_payload->device_icon;
payload->secondary_key = uam_payload->secondary_key;
- payload->device_uid = g_memdup(uam_payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN + 1);
+ payload->device_uid_len = uam_payload->device_uid_len;
+ payload->device_uid = g_memdup(uam_payload->device_uid, uam_payload->device_uid_len);
if (!payload->device_uid) {
UA_ERR("g_malloc0 failed");
_ua_free_ua_payload_info_s(payload);
return NULL;
}
+ user_data_len = UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN - 1 - uam_payload->device_uid_len;
+ payload->user_data = g_memdup(uam_payload->user_data, user_data_len);
+ if (!payload->user_data) {
+ UA_ERR("g_malloc0 failed");
+ _ua_free_ua_payload_info_s(payload);
+ return NULL;
+ }
+
FUNC_EXIT;
return payload;
}
{
FUNC_ENTRY;
ua_payload_info_s *payload = NULL;
+ int user_data_len = 0;
retv_if(NULL == org_payload, NULL);
payload->device_icon = org_payload->device_icon;
payload->secondary_key = org_payload->secondary_key;
- payload->device_uid = g_memdup(org_payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN + 1);
+ payload->device_uid_len = org_payload->device_uid_len;
+ payload->device_uid = g_memdup(org_payload->device_uid, org_payload->device_uid_len);
if (!payload->device_uid && org_payload->device_uid) {
UA_ERR("g_malloc0 failed");
_ua_free_ua_payload_info_s(payload);
return NULL;
}
+ user_data_len = UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN - 1 - org_payload->device_uid_len;
+ payload->user_data = g_memdup(org_payload->user_data, user_data_len);
+ if (!payload->user_data && org_payload->user_data) {
+ UA_ERR("g_malloc0 failed");
+ _ua_free_ua_payload_info_s(payload);
+ return NULL;
+ }
+
FUNC_EXIT;
return payload;
}
goto done;
}
- *device_uid = g_memdup(payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN);
+ UA_DBG("payload(device_uid_len) [%d]", payload->device_uid_len);
+ *device_uid = g_memdup(payload->device_uid, 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_user_data(
+ ua_payload_h handle,
+ char **user_data)
+{
+ FUNC_ENTRY;
+ ua_payload_info_s *payload = (ua_payload_info_s *)handle;
+ int user_data_len = 0;
+
+ UA_VALIDATE_INPUT_PARAMETER(handle);
+ UA_VALIDATE_INPUT_PARAMETER(user_data);
+ UA_PRINT_PAYLOAD_HANDLE(handle);
+
+ if (!payload || !payload->user_data) {
+ *user_data = NULL;
+ UA_DBG("payload(user_data) is not found");
+ goto done;
+ }
+
+ user_data_len = UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN - 1 - payload->device_uid_len;
+ *user_data = g_memdup(payload->user_data, user_data_len);
+ if (*user_data == NULL) {
+ // LCOV_EXCL_START
+ UA_ERR("g_memdup failed");
+ return UA_ERROR_OUT_OF_MEMORY;
+ // LCOV_EXCL_START
+ }
+
+done:
+ FUNC_EXIT;
+ return UA_ERROR_NONE;
+}
{
int ret = UA_ERROR_NONE;
int temp = 0;
+ int device_uid_len = 0;
msg("Input 17 bytes device_uid, each byte is 0 to 255 value");
memset(g_payload_device_uid_str, 0, MENU_DATA_SIZE + 1);
- for (int i = 0; i < UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN; i++) {
+ if (strlen(g_payload_device_uid_len))
+ device_uid_len = (unsigned char)strtol(g_payload_device_uid_len, NULL, 10);
+
+ for (int i = 0; i < device_uid_len; i++) {
ret = fscanf(stdin, "%d", &temp);
if(!ret)
msg(" - fscanf ret: %d", ret);
char secondary_key = 0;
char *device_uid = NULL;
char device_icon = 0;
+ char *payload_user_data = NULL;
if (!payload_handle) {
msgr("payload_handle is NULL");
if (UA_ERROR_NONE == ret)
msglr("Payload device icon : %d", device_icon);
+ ret = ua_payload_get_user_data(handle, &payload_user_data);
+ if (UA_ERROR_NONE == ret) {
+ msglr("Payload user data : %s", payload_user_data);
+ }
+
return true;
}