From b08fc50a9a52237cda9293a72d7c095b581b35f8 Mon Sep 17 00:00:00 2001 From: Minje Ahn Date: Tue, 29 Jan 2019 14:20:47 +0900 Subject: [PATCH] Move get_storage_list Move plugin to media-common Change-Id: I5b331c0df56822d324a9177fd937fbdc9792d271 Signed-off-by: Minje Ahn --- src/common/include/media-common-db-svc.h | 1 - src/common/media-common-db-svc.c | 43 ++++++++++++-------------------- 2 files changed, 16 insertions(+), 28 deletions(-) diff --git a/src/common/include/media-common-db-svc.h b/src/common/include/media-common-db-svc.h index 4521684..5eb592b 100755 --- a/src/common/include/media-common-db-svc.h +++ b/src/common/include/media-common-db-svc.h @@ -67,7 +67,6 @@ typedef int (*DELETE_ALL_INVALID_ITEMS_IN_FOLDER)(sqlite3 *, const char *, const typedef int (*UPDATE_FOLDER_TIME)(sqlite3 *, const char *, const char *, uid_t); typedef int (*GET_STORAGE_ID)(sqlite3 *, const char *, char *, uid_t uid); typedef int (*SET_STORAGE_SCAN_STATUS)(sqlite3 *, const char *, int, uid_t); -typedef int (*GET_STORAGE_LIST)(sqlite3 *, char ***, char ***, int *); typedef int (*INSERT_FOLDER)(sqlite3 *, const char *, const char *, int, uid_t); typedef int (*SET_FOLDER_VALIDITY)(sqlite3 *, const char *, const char *, int, bool, uid_t); typedef int (*INSERT_FOLDER_BEGIN)(int); diff --git a/src/common/media-common-db-svc.c b/src/common/media-common-db-svc.c index bca5a1a..6314533 100755 --- a/src/common/media-common-db-svc.c +++ b/src/common/media-common-db-svc.c @@ -57,7 +57,6 @@ enum func_list { eUPDATE_FOLDER_TIME, eGET_STORAGE_ID, eSET_STORAGE_SCAN_STATUS, - eGET_STORAGE_LIST, eINSERT_FOLDER, eSET_FOLDER_VALIDITY, eINSERT_FOLDER_BEGIN, @@ -157,7 +156,6 @@ int ms_load_functions(void) "update_folder_time", "get_storage_id", "set_storage_scan_status", - "get_storage_list", "insert_folder", "set_folder_validity", "insert_folder_begin", @@ -685,41 +683,32 @@ int ms_set_storage_scan_status(sqlite3 *handle, char *storage_id, media_scan_sta int ms_get_storage_list(sqlite3 *handle, GArray **storage_array) { - int lib_index; int ret = MS_MEDIA_ERR_NONE; + sqlite3_stmt *sql_stmt = NULL; - char **storage_list = NULL; - char **storage_id_list = NULL; - int count = 0; - int i = 0; - - ms_stg_info_s* stg_info = NULL; + char *sql = sqlite3_mprintf("SELECT storage_path, storage_uuid FROM storage WHERE validity = 1"); - for (lib_index = 0; lib_index < lib_num; lib_index++) { - ret = ((GET_STORAGE_LIST)func_array[lib_index][eGET_STORAGE_LIST])(handle, &storage_list, &storage_id_list, &count); /*dlopen*/ - MS_DBG_RETVM_IF(ret != MS_MEDIA_ERR_NONE, ret, "Error : %s", g_array_index(so_array, char*, lib_index)); + ret = media_db_get_result(handle, sql, &sql_stmt); + if (ret != MS_MEDIA_ERR_NONE) { + MS_DBG_ERR("prepare error [%s]", sqlite3_errmsg(handle)); + return ret; } *storage_array = g_array_new(FALSE, FALSE, sizeof(ms_stg_info_s*)); - if (count != 0) { - for (i = 0; i < count; i++) { - stg_info = malloc(sizeof(ms_stg_info_s)); - if (stg_info == NULL) { - MS_DBG_ERR("Allcation failed"); - continue; - } - stg_info->stg_path = g_strdup(storage_list[i]); - stg_info->storage_id = g_strdup(storage_id_list[i]); - g_array_append_val(*storage_array, stg_info); - MS_SAFE_FREE(storage_list[i]); - MS_SAFE_FREE(storage_id_list[i]); - MS_DBG("%d get path : %s, %s", i, stg_info->stg_path, stg_info->storage_id); + while (sqlite3_step(sql_stmt) == SQLITE_ROW) { + ms_stg_info_s* stg_info = malloc(sizeof(ms_stg_info_s)); + if (stg_info == NULL) { + MS_DBG_ERR("Allcation failed"); + continue; } + stg_info->stg_path = g_strdup((char *)sqlite3_column_text(sql_stmt, 0)); + stg_info->storage_id = g_strdup((char *)sqlite3_column_text(sql_stmt, 1)); + MS_DBG("Get path[%s] id[%s]", stg_info->stg_path, stg_info->storage_id); + g_array_append_val(*storage_array, stg_info); } - MS_SAFE_FREE(storage_list); - MS_SAFE_FREE(storage_id_list); + MS_SQLITE3_FINALIZE(sql_stmt); return ret; } -- 2.7.4