uam_tech_type_e tech_type);
/**
+ * @brief Sets a device discriminant for the service.
+ * @since_tizen 5.5
+ *
+ * @param[in] service Service idt.
+ * @param[in] device_id Device id.
+ * @param[in] tech_type Sensor type.
+ * @param[in] discriminant Device discriminant.
+ *
+ * @return 0 on success, otherwise a negative error value
+ * @retval #UAM_ERROR_NONE Successful
+ * @retval #UAM_ERROR_INVALID_PARAMETER Invalid parameters
+ * @retval #UAM_ERROR_INTERNAL Internal error
+ *
+ * @exception
+ * @pre
+ * @post
+ */
+int _uam_service_set_device_discriminant(const char *service,
+ char *device_id, uam_tech_type_e tech_type, gboolean discriminant);
+
+/**
* @brief Sets detction cycle per eash service.
* @since_tizen 5.5
*
REQUEST(UAM_REQUEST_REMOVE_USER_FROM_SERVICE) \
REQUEST(UAM_REQUEST_ADD_DEVICE_TO_SERVICE) \
REQUEST(UAM_REQUEST_REMOVE_DEVICE_FROM_SERVICE) \
+ REQUEST(UAM_REQUEST_SET_DEVICE_DISCRIMINANT) \
REQUEST(UAM_REQUEST_SET_SERVICE_DETECTION_CYCLE) \
REQUEST(UAM_REQUEST_GET_SERVICE_DETECTION_CYCLE) \
REQUEST(UAM_REQUEST_GET_DETECTION_WINDOW) \
return ret;
}
+UAM_EXPORT_API int _uam_service_set_device_discriminant(const char *service,
+ char *device_id, uam_tech_type_e tech_type, gboolean discriminant)
+{
+ FUNC_ENTRY;
+ int ret;
+ char svc_str[UAM_SERVICE_MAX_STRING_LEN];
+ char str[UAM_DEVICE_ID_MAX_STRING_LEN];
+
+ UAM_VALIDATE_INPUT_PARAMETER(service);
+ UAM_VALIDATE_INPUT_PARAMETER(device_id);
+
+ UAM_INIT_PARAMS();
+ UAM_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_strlcpy(svc_str, service, UAM_SERVICE_MAX_STRING_LEN);
+ g_array_append_vals(in_param1, svc_str, sizeof(svc_str));
+
+ g_strlcpy(str, device_id, UAM_DEVICE_ID_MAX_STRING_LEN);
+ g_array_append_vals(in_param2, str, sizeof(str));
+ g_array_append_vals(in_param3, &tech_type, sizeof(int));
+ g_array_append_vals(in_param4, &discriminant, sizeof(int));
+
+ ret = _uam_sync_request(UAM_REQUEST_SET_DEVICE_DISCRIMINANT,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
+
+ UAM_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ FUNC_EXIT;
+ return ret;
+}
+
UAM_EXPORT_API int _uam_set_service_detection_cycle(const char *service,
unsigned int cycle)
{
result = _uam_core_service_remove_device(svc_name, device_id, tech_type);
break;
}
+ case UAM_REQUEST_SET_DEVICE_DISCRIMINANT: {
+ const char *svc_name;
+ const char *device_id;
+ int tech_type;
+ gboolean discriminant;
+
+ svc_name = (char *)g_variant_get_data(in_param1);
+ device_id = (char *)g_variant_get_data(in_param2);
+ __uam_manager_copy_params(in_param3, &tech_type, sizeof(int));
+ __uam_manager_copy_params(in_param4, &discriminant, sizeof(gboolean));
+ UAM_DBG("Service: [%s] device_id: [%s], tech_type: %d, discriminant: %d",
+ svc_name, device_id, tech_type, discriminant);
+
+ result = _uam_core_service_set_device_discriminant(svc_name, device_id,
+ tech_type, discriminant);
+ break;
+ }
case UAM_REQUEST_SET_SERVICE_DETECTION_CYCLE: {
const char *svc_name;
unsigned int cycle;
case UAM_REQUEST_REMOVE_USER_FROM_SERVICE:
case UAM_REQUEST_ADD_DEVICE_TO_SERVICE:
case UAM_REQUEST_REMOVE_DEVICE_FROM_SERVICE:
+ case UAM_REQUEST_SET_DEVICE_DISCRIMINANT:
case UAM_REQUEST_SET_SERVICE_DETECTION_CYCLE:
case UAM_REQUEST_GET_SERVICE_DETECTION_CYCLE:
case UAM_REQUEST_GET_DETECTION_WINDOW: