char primary_key; /**< primary key for manufacturer data */
char secondary_key; /**< secondary_key for manufacturer data */
char device_icon; /**< device icon for manufacturer data */
+ int device_uid_len; /** device_uid length for manufaturer data*/
char *device_uid; /**< device_uid for manufacturer data */
char *bt_mac; /**< bt mac address of device */
+ char *user_data; /**< user data for manufacturer data */
gboolean isadded; /**< Is the payload addition completed? */
} ua_payload_info_s;
* @brief Device's BLE payload DEVICE_UID length.
* @since_tizen 5.5
*/
-#define UA_BLE_PAYLOAD_DEVICE_UID_LEN 17
+#define UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN 17
/**
* @ingroup CAPI_NETWORK_UA_MODULE
UA_VALIDATE_INPUT_PARAMETER(device_uid);
UA_PRINT_PAYLOAD_HANDLE(handle);
- retv_if(device_uid_len != UA_BLE_PAYLOAD_DEVICE_UID_LEN, UA_ERROR_INVALID_PARAMETER);
+ retv_if(device_uid_len > UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN, UA_ERROR_INVALID_PARAMETER);
+ payload->device_uid_len = device_uid_len;
g_free(payload->device_uid);
payload->device_uid = NULL;
- payload->device_uid = g_malloc0(UA_BLE_PAYLOAD_DEVICE_UID_LEN + 1);
+ payload->device_uid = g_malloc0(UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN + 1);
if (payload->device_uid == NULL) {
UA_ERR("g_malloc0 failed");
_ua_free_ua_payload_info_s((gpointer)payload);
return UA_ERROR_OUT_OF_MEMORY;
}
- memcpy(payload->device_uid, device_uid, UA_BLE_PAYLOAD_DEVICE_UID_LEN);
+ memcpy(payload->device_uid, device_uid, UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN);
FUNC_EXIT;
return UA_ERROR_NONE;
uam_payload->primary_key = 13;
uam_payload->device_icon = 1;
uam_payload->secondary_key = 1;
+ uam_payload->device_uid_len = 0;
UA_DBG("(NULL == payload) return");
return;
}
uam_payload->primary_key = payload->primary_key;
uam_payload->device_icon = payload->device_icon;
uam_payload->secondary_key = payload->secondary_key;
+ uam_payload->device_uid_len = payload->device_uid_len;
if (payload->device_uid)
- memcpy(uam_payload->device_uid, payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_LEN + 1);
+ memcpy(uam_payload->device_uid, payload->device_uid, payload->device_uid_len);
if (payload->bt_mac)
g_strlcpy(uam_payload->bt_mac, payload->bt_mac, UA_BT_MAC_MAX_LEN);
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_LEN + 1);
+ payload->device_uid = g_memdup(uam_payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN + 1);
if (!payload->device_uid) {
UA_ERR("g_malloc0 failed");
_ua_free_ua_payload_info_s(payload);
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_LEN + 1);
+ payload->device_uid = g_memdup(org_payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN + 1);
if (!payload->device_uid && org_payload->device_uid) {
UA_ERR("g_malloc0 failed");
_ua_free_ua_payload_info_s(payload);
goto done;
}
- *device_uid = g_memdup(payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_LEN);
+ *device_uid = g_memdup(payload->device_uid, UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN);
if (*device_uid == NULL) {
// LCOV_EXCL_START
UA_ERR("g_memdup failed");
if(!device_uid)
goto done;
- for (int i = 0; i < UA_BLE_PAYLOAD_DEVICE_UID_LEN; i++)
+ for (int i = 0; i < UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN; i++)
fprintf(stdout, ANSI_COLOR_WHITE " %d" ANSI_COLOR_NORMAL, device_uid[i]);
done:
static char g_payload_primary_key[MENU_DATA_SIZE + 1] = {0,}; /**< payload primary_key for the selected device */
static char g_payload_device_icon[MENU_DATA_SIZE + 1] = {0,}; /**< payload device_icon for the selected device */
static char g_payload_secondary_key[MENU_DATA_SIZE + 1] = {0,}; /**< payload secondary_key for the selected device */
+static char g_payload_device_uid_len[MENU_DATA_SIZE + 1] = {0,}; /**< payload device_uid len for the selected device */
static char g_payload_device_uid_str[MENU_DATA_SIZE + 1] = {0,}; /**< payload device_uid for the selected device */
GSList *payload_list = NULL; /**< Payload List */
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_LEN; i++) {
+ for (int i = 0; i < UA_BLE_PAYLOAD_DEVICE_UID_MAX_LEN; i++) {
ret = fscanf(stdin, "%d", &temp);
if(!ret)
msg(" - fscanf ret: %d", ret);
MManager *mm, struct menu_data *menu)
{
int ret = UA_ERROR_NONE;
+ int device_uid_len = 0;
msg("ua_payload_set_device_uid");
+ if (strlen(g_payload_device_uid_len))
+ device_uid_len = (unsigned char)strtol(g_payload_device_uid_len, NULL, 10);
+
ret = ua_payload_set_device_uid(g_payload_h,
- UA_BLE_PAYLOAD_DEVICE_UID_LEN, g_payload_device_uid_str);
+ device_uid_len, g_payload_device_uid_str);
msg(" - ua_payload_set_device_uid() ret: [0x%X] [%s]",
ret, uat_get_error_str(ret));
};
static struct menu_data menu_ua_payload_set_device_uid[] = {
- { "1", "DEVICE_UID (Max. 17 bytes)",
+ { "1", "Device uid len (0 to 17)",
+ NULL, NULL, g_payload_device_uid_len },
+ { "2", "DEVICE_UID (Max. 17 bytes)",
#ifdef SUPPORT_STRING_DEVICE_UID
NULL, NULL, g_payload_device_uid_str },
#else
NULL, _scan_payload_device_uid_str, NULL },
#endif
- { "2", "run", NULL,
+ { "3", "run", NULL,
run_ua_payload_set_device_uid, NULL },
{ NULL, NULL, },
};