From: Minje Ahn Date: Wed, 23 Apr 2025 01:59:18 +0000 (+0900) Subject: Remove noti for batch insertion X-Git-Tag: accepted/tizen/unified/20250516.111225^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Ftizen;p=platform%2Fcore%2Fmultimedia%2Flibmedia-service.git Remove noti for batch insertion Change-Id: I09ff974e13c002e719f331f114542848061b8cc7 Signed-off-by: Minje Ahn --- diff --git a/include/media-svc-noti.h b/include/media-svc-noti.h index 2da0533..40cf21d 100644 --- a/include/media-svc-noti.h +++ b/include/media-svc-noti.h @@ -35,10 +35,6 @@ struct _media_svc_noti_item { char *mime_type; }; -void _media_svc_set_noti_from_pid(int pid); -void _media_svc_initialize_noti_list(void); -void _media_svc_insert_item_to_noti_list(media_svc_content_info_s *content_info); -void _media_svc_publish_noti_list(void); void _media_svc_destroy_noti_item(media_svc_noti_item *item); int _media_svc_publish_noti(media_item_update_type_e update_type, const char *path, int media_type, const char *uuid, const char *mime_type); int _media_svc_publish_dir_noti(media_item_update_type_e update_type, const char *path, const char *uuid, int pid); diff --git a/include/media-svc.h b/include/media-svc.h index f738519..2827d1e 100644 --- a/include/media-svc.h +++ b/include/media-svc.h @@ -36,7 +36,7 @@ int media_svc_check_table_exist(sqlite3 *handle, bool *exist); int media_svc_create_table(uid_t uid); int media_svc_check_item_exist_by_path(sqlite3 *handle, const char *path); int media_svc_insert_folder(sqlite3 *handle, const char *storage_id, const char *path, uid_t uid); -int media_svc_insert_item_begin(bool with_noti, int from_pid); +void media_svc_insert_item_begin(void); int media_svc_insert_item_end(uid_t uid); int media_svc_insert_item_bulk(sqlite3 *handle, const char *storage_id, const char *path, uid_t uid); int media_svc_insert_item_immediately(sqlite3 *handle, const char *path, uid_t uid); diff --git a/plugin/media-content-plugin.c b/plugin/media-content-plugin.c index f7da51a..a1eea74 100644 --- a/plugin/media-content-plugin.c +++ b/plugin/media-content-plugin.c @@ -20,9 +20,9 @@ #include #include "media-svc.h" -int insert_item_begin(bool with_noti, int from_pid) +void insert_item_begin(void) { - return media_svc_insert_item_begin(with_noti, from_pid); + media_svc_insert_item_begin(); } int insert_item_end(uid_t uid) diff --git a/src/media-svc-noti.c b/src/media-svc-noti.c index 2f0d314..81012ae 100644 --- a/src/media-svc-noti.c +++ b/src/media-svc-noti.c @@ -22,36 +22,6 @@ #include "media-svc-util.h" #include "media-svc-debug.h" -static __thread GSList *g_inserted_noti_list = NULL; -static __thread int g_noti_from_pid = -1; - -static void __media_svc_publish_noti_by_item(gpointer data, gpointer user_data) -{ - int ret = MS_MEDIA_ERR_NONE; - media_svc_noti_item *item = (media_svc_noti_item *)data; - - if (item && item->path) { - ret = media_db_update_send(item->pid, item->update_item, item->update_type, item->path, item->media_uuid, item->media_type, item->mime_type); - if (ret != MS_MEDIA_ERR_NONE) { - media_svc_sec_error("media_db_update_send failed : %d [%s]", ret, item->path); - } else { - media_svc_debug("media_db_update_send success"); - } - } else { - media_svc_debug("invalid path"); - } -} - -static void __media_svc_destroy_noti_item(gpointer data) -{ - media_svc_noti_item *item = (media_svc_noti_item *)data; - - g_free(item->media_uuid); - g_free(item->path); - g_free(item->mime_type); - g_free(item); -} - int _media_svc_publish_noti(media_item_update_type_e update_type, const char *path, int media_type, const char *uuid, const char *mime_type) { int ret = MS_MEDIA_ERR_NONE; @@ -78,46 +48,6 @@ int _media_svc_publish_dir_noti(media_item_update_type_e update_type, const char return ret; } -void _media_svc_set_noti_from_pid(int pid) -{ - g_noti_from_pid = pid; -} - -void _media_svc_initialize_noti_list(void) -{ - if (g_inserted_noti_list) - g_slist_free_full(g_inserted_noti_list, __media_svc_destroy_noti_item); - - g_inserted_noti_list = NULL; -} - -void _media_svc_insert_item_to_noti_list(media_svc_content_info_s *content_info) -{ - media_svc_noti_item *item = NULL; - - if (!content_info) - return; - - item = g_new0(media_svc_noti_item, 1); - - item->pid = g_noti_from_pid; - item->update_item = MS_MEDIA_ITEM_INSERT; /* INSERT */ - item->update_type = MS_MEDIA_ITEM_FILE; - item->media_type = content_info->media_type; - item->media_uuid = g_strdup(content_info->media_uuid); - item->path = g_strdup(content_info->path); - item->mime_type = g_strdup(content_info->mime_type); - - g_inserted_noti_list = g_slist_append(g_inserted_noti_list, (gpointer)item); -} - -void _media_svc_publish_noti_list(void) -{ - g_slist_foreach(g_inserted_noti_list, __media_svc_publish_noti_by_item, NULL); - - _media_svc_initialize_noti_list(); -} - void _media_svc_destroy_noti_item(media_svc_noti_item *item) { if (!item) diff --git a/src/media-svc.c b/src/media-svc.c index 183943b..756719e 100644 --- a/src/media-svc.c +++ b/src/media-svc.c @@ -32,9 +32,6 @@ static __thread int g_media_svc_cur_data_cnt = 0; static int g_media_svc_other_support = -1; -/* Flag for items to be published by notification */ -static __thread bool g_insert_with_noti = false; - #define BATCH_ITEM_COUNT_MAX 100 int media_svc_check_table_exist(sqlite3 *handle, bool *exist) @@ -52,19 +49,9 @@ int media_svc_check_item_exist_by_path(sqlite3 *handle, const char *path) return _media_svc_check_data_by_path(handle, path); } -int media_svc_insert_item_begin(bool with_noti, int from_pid) +void media_svc_insert_item_begin(void) { g_media_svc_cur_data_cnt = 0; - - /* Prepare for making noti item list */ - if (with_noti) { - media_svc_debug("making noti list from pid[%d]", from_pid); - _media_svc_initialize_noti_list(); - _media_svc_set_noti_from_pid(from_pid); - g_insert_with_noti = true; - } - - return MS_MEDIA_ERR_NONE; } int media_svc_insert_item_end(uid_t uid) @@ -73,15 +60,8 @@ int media_svc_insert_item_end(uid_t uid) media_svc_debug_fenter(); - if (g_media_svc_cur_data_cnt > 0) { + if (g_media_svc_cur_data_cnt > 0) ret = _media_svc_list_query_do(MEDIA_SVC_QUERY_SCANNER, uid); - if (g_insert_with_noti) { - media_svc_debug("sending noti list"); - _media_svc_publish_noti_list(); - g_insert_with_noti = false; - _media_svc_set_noti_from_pid(-1); - } - } g_media_svc_cur_data_cnt = 0; @@ -162,17 +142,11 @@ int media_svc_insert_item_bulk(sqlite3 *handle, const char *storage_id, const ch ret = _media_svc_insert_item_stack(&content_info); media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info); - if (g_insert_with_noti) - _media_svc_insert_item_to_noti_list(&content_info); - /* To avoid over-occupying memory, update per BATCH_ITEM_COUNT_MAX. */ if (++g_media_svc_cur_data_cnt == BATCH_ITEM_COUNT_MAX) { ret = _media_svc_list_query_do(MEDIA_SVC_QUERY_SCANNER, uid); media_svc_retv_del_if(ret != MS_MEDIA_ERR_NONE, ret, &content_info); - if (g_insert_with_noti) - _media_svc_publish_noti_list(); - g_media_svc_cur_data_cnt = 0; }