ua_device_h device_handle,
gboolean discriminant);
+/**
+ * @ingroup CAPI_NETWORK_UA_MODULE
+ * @brief Gets device discriminant for a specific service.
+ * @since_tizen 5.5
+ *
+ * @param[in] service_handle The service handle.
+ * @param[in] device_handle The device handle.
+ * @param[out] discriminant The device discriminant.
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #UA_ERROR_NONE Successful
+ * @retval #UA_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @exception
+ * @pre
+ * @post
+ *
+ * @see ua_service_add_device()
+ * @see ua_service_remove_device()
+ */
+int ua_service_get_device_discriminant(
+ ua_service_h service_handle,
+ ua_device_h device_handle,
+ gboolean *discriminant);
+
/**
* @ingroup CAPI_NETWORK_UA_MODULE
* @brief Retrieves the service handle of all the added services.
return UA_ERROR_NONE;
}
+int ua_service_get_device_discriminant(ua_service_h service_handle,
+ ua_device_h device_handle, gboolean *discriminant)
+{
+ FUNC_ENTRY;
+ int ret;
+
+ ua_service_info_s* service_info = (ua_service_info_s*)service_handle;
+ ua_dev_info_s* device_info = (ua_dev_info_s*)device_handle;
+
+ UA_VALIDATE_INPUT_PARAMETER(service_info);
+ UA_VALIDATE_INPUT_PARAMETER(device_handle);
+ UA_VALIDATE_HANDLE(service_handle, ua_services_list);
+ UA_PRINT_DEVICE_HANDLE(device_handle);
+ retv_if(device_info->isadded == FALSE, UA_ERROR_INVALID_PARAMETER);
+
+ ret = _ua_get_error_code(_uam_service_get_device_discriminant(service_info->name,
+ device_info->device_id, _ua_to_uam_tech_type(device_info->type),
+ discriminant));
+ if (UA_ERROR_NONE != ret) {
+ UA_ERR("_uam_service_get_device_discriminant returned %s",
+ _ua_get_error_string(ret));
+ return ret;
+ }
+
+ FUNC_EXIT;
+ return UA_ERROR_NONE;
+}
int ua_service_foreach_added_services(ua_service_added_service_cb foreach_cb,
void *user_data)
static char g_payload_device_icon[MENU_DATA_SIZE + 1] = {0,}; /**< payload device_icon for the selected device */
static char g_payload_purpose[MENU_DATA_SIZE + 1] = {0,}; /**< payload purpose for the selected device */
static char g_payload_duid_str[MENU_DATA_SIZE + 1] = {0,}; /**< payload duid for the selected device */
-static char g_service_device_discriminant[MENU_DATA_SIZE + 1] = {0,}; /**< Discriminant for a device in a service */
+static char g_service_device_discriminant[MENU_DATA_SIZE + 1] = {"1",}; /**< Discriminant for a device in a service */
char g_selected_device_id[MENU_DATA_SIZE + 1] = {0,}; /**< Selected device id */
extern char g_service_str[MENU_DATA_SIZE + 1]; /**< Service name string */
return RET_SUCCESS;
}
+static int run_ua_service_get_device_discriminant(
+ MManager *mm, struct menu_data *menu)
+{
+ int ret = UA_ERROR_NONE;
+ gboolean discriminant = true;
+
+ msg("ua_service_get_device_discriminant");
+
+ check_if(NULL == g_service_h);
+ check_if(NULL == g_device_h);
+
+ ret = ua_service_get_device_discriminant(g_service_h, g_device_h, &discriminant);
+
+ msg(" - ua_service_add_device() ret: [0x%X] [%s]",
+ ret, uat_get_error_str(ret));
+
+ if (UA_ERROR_NONE == ret)
+ msgb("Device Discriminant %d", discriminant);
+
+ return RET_SUCCESS;
+}
+
static int run_ua_service_foreach_added_devices(MManager *mm,
struct menu_data *menu)
{
NULL, run_ua_service_remove_device, NULL },
{ "25", "ua_service_set_device_discriminant",
menu_ua_service_set_device_discriminant, NULL, NULL },
- { "26", "ua_service_foreach_added_devices",
+ { "26", "ua_service_get_device_discriminant",
+ NULL, run_ua_service_get_device_discriminant, NULL },
+ { "27", "ua_service_foreach_added_devices",
NULL, run_ua_service_foreach_added_devices, NULL },
{ NULL, NULL, },
};