} uam_tech_type_e;
/**
+ * @brief Enumerations for device is already registered or not.
+ * @since_tizen 5.5
+ */
+typedef enum {
+ UAM_DEVICE_IS_NOT_REGISTERED = 0x00, /**< Device is not registered */
+ UAM_DEVICE_IS_ALREADY_REGISTERED = 0x01, /**< Device already registered */
+} uam_is_new_device_e;
+
+/**
* @brief BLE Payload info structure.
* @since_tizen 5.5
*/
void _uam_core_handle_sensor_ready(unsigned int sensor, gboolean is_ready);
-int _uam_core_handle_device_added(int status,
- int user_id, const uam_device_info_s *dev_info);
+int _uam_core_handle_device_added(int status, int user_id,
+ const uam_device_info_s *dev_info, int is_new_device);
int _uam_core_handle_presence_detected(unsigned int sensor,
int user_id, void *sensor_info);
else
status = UAM_ERROR_NONE;
- _uam_core_handle_device_added(status, device->user_id, dev_info);
+ _uam_core_handle_device_added(status, device->user_id, dev_info,
+ UAM_DEVICE_IS_NOT_REGISTERED);
g_free(dev_info);
FUNC_EXIT;
}
status = UAM_ERROR_NONE;
UAM_INFO("[%d]", device->user_id);
- _uam_core_handle_device_added(status, device->user_id, dev_info);
+ _uam_core_handle_device_added(status, device->user_id, dev_info,
+ UAM_DEVICE_IS_NOT_REGISTERED);
g_free(dev_info);
FUNC_EXIT;
}
l = g_slist_find_custom(devices, dev_info->device_id, __compare_device_id);
if (NULL != l) {
device = l->data;
+ /**
+ * TODO: UAM_DEVICE_IS_ALREADY_REGISTERED
+ * 1. Check if user exists or not and accordingly,
+ * 2. Update user->dev, dev->user. dev_user_table and dev_user_list.
+ */
ret_if(user != device->user);
ret_if(device->supported_techs & dev_info->type);
l = g_slist_find_custom(devices, dev_info->device_id, __compare_device_id);
if (NULL != l) {
device = l->data;
+ /**
+ * TODO: UAM_DEVICE_IS_ALREADY_REGISTERED
+ * 1. Check whether device and user association already exists or not?
+ * 2. If association exists, update device details and send device added callback.
+ */
retv_if(user != device->user, UAM_ERROR_ALREADY_REGISTERED);
retv_if((dev_info->type & device->supported_techs),
UAM_ERROR_ALREADY_REGISTERED);
FUNC_EXIT;
}
-int _uam_core_handle_device_added(int status,
- int user_id, const uam_device_info_s *dev_info)
+int _uam_core_handle_device_added(int status, int user_id,
+ const uam_device_info_s *dev_info, int is_new_device)
{
FUNC_ENTRY;