Move get_storage_list 22/198722/1
authorMinje Ahn <minje.ahn@samsung.com>
Tue, 29 Jan 2019 05:20:47 +0000 (14:20 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Tue, 29 Jan 2019 05:20:47 +0000 (14:20 +0900)
Move plugin to media-common

Change-Id: I5b331c0df56822d324a9177fd937fbdc9792d271
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/common/include/media-common-db-svc.h
src/common/media-common-db-svc.c

index 4521684..5eb592b 100755 (executable)
@@ -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);
index bca5a1a..6314533 100755 (executable)
@@ -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;
 }