block_info->state = g_variant_get_int32(tmp);
MS_DBG_ERR("state : %d", block_info->state);
+ tmp = g_variant_get_child_value(parameters, 11);
+ block_info->flags = g_variant_get_int32(tmp);
+ MS_DBG_ERR("flags : %d", block_info->flags);
+
((block_changed_cb)usr_cb)(block_info, usr_data);
MS_SAFE_FREE(block_info->mount_path);
MS_SAFE_FREE(block_info->mount_uuid);
data->mount_path = strdup(val_str[6]);
data->state = val_int[2];
data->mount_uuid = strdup(val_str[5]);
+ data->flags = val_int[3];
if (*dev_list == NULL) {
MS_DBG_ERR("DEV LIST IS NULL");
return MS_MEDIA_ERR_NONE;
}
-void _ms_mmc_changed_event(const char *mount_path, ms_stg_status_e mount_status)
+void _ms_mmc_changed_event(const char *mount_path, ms_stg_status_e mount_status, int flags)
{
/* If scanner is not working, media server executes media scanner and sends request. */
/* If scanner is working, it detects changing status of SD card. */
ms_mmc_insert_handler(mount_path);
} else if (mount_status == MS_STG_REMOVED) {
/*remove added watch descriptors */
- ms_present_mmc_status(MS_SDCARD_REMOVED);
+ /* flags - 1: unmounted unsafely */
+ if (flags == 1)
+ ms_present_mmc_status(MS_SDCARD_REMOVED);
ms_mmc_remove_handler(mount_path);
}
_ms_usb_changed_event(block_info->mount_path, block_info->mount_uuid, block_info->state);
} else {
MS_DBG_ERR("GET THE MMC EVENT");
- _ms_mmc_changed_event(block_info->mount_path, block_info->state);
+ _ms_mmc_changed_event(block_info->mount_path, block_info->state, block_info->flags);
}
}