improve check storage function 10/108110/2
authorYong Yeon Kim <yy9875.kim@samsung.com>
Tue, 3 Jan 2017 05:10:17 +0000 (14:10 +0900)
committerYong Yeon Kim <yy9875.kim@samsung.com>
Tue, 3 Jan 2017 05:14:34 +0000 (14:14 +0900)
Change-Id: I68827cdfef8263994694758ddd039b9dd55c0b71

packaging/media-server.spec
src/common/include/media-common-db-svc.h
src/common/media-common-db-svc.c
src/server/media-server-device-block.c
src/server/media-server-main.c
src/server/media-server-socket.c

index 1e28247..87c3eec 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       media-server
 Summary:    A server for media content management
-Version:    0.3.29
+Version:    0.3.30
 Release:    0
 Group:      Multimedia/Service
 License:    Apache-2.0
index de6c73c..66a6a80 100755 (executable)
@@ -98,7 +98,7 @@ typedef int (*CHANGE_VALIDITY_ITEM_BATCH)(void *, const char *, const char *, in
 typedef int (*CHECK_DB)(void*, uid_t, char **);
 typedef int (*GET_UUID)(void *, char **, char **);
 typedef int (*GET_MMC_INFO)(void *, char **, char **, int *, bool *, char **);
-typedef int (*CHECK_STORAGE)(void *, const char *, const char *, char **, int *, char **);
+typedef int (*CHECK_STORAGE)(void *, const char *, const char *, char **, int *, uid_t, char **);
 typedef int (*INSERT_STORAGE)(void *, const char *, int, const char *, const char *, uid_t, char **);
 typedef int (*UPDATE_STORAGE)(void *, const char *, const char *, uid_t, char **);
 typedef int (*DELETE_STORAGE)(void *, const char *, const char *, uid_t, char **);
@@ -157,7 +157,7 @@ int ms_change_validity_item_batch(void **handle, const char *storage_id, const c
 int ms_check_db_upgrade(void **handle, uid_t uid);
 int ms_genarate_uuid(void **handle, char **uuid);
 int ms_get_mmc_info(void **handle, char **storage_name, char **storage_path, int *validity, bool *info_exist);
-int ms_check_storage(void **handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity);
+int ms_check_storage(void **handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity, uid_t uid);
 int ms_insert_storage(void **handle, const char *storage_id, const char *storage_name, const char *storage_path, uid_t uid);
 int ms_update_storage(void **handle, const char *storage_id, const char *storage_path, uid_t uid);
 int ms_delete_storage(void **handle, const char *storage_id, const char *storage_name, uid_t uid);
index 35dc37e..5932f52 100755 (executable)
@@ -1144,7 +1144,7 @@ int ms_get_mmc_info(void **handle, char **storage_name, char **storage_path, int
        return res;
 }
 
-int ms_check_storage(void **handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity)
+int ms_check_storage(void **handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity, uid_t uid)
 {
        int lib_index = 0;
        int res = MS_MEDIA_ERR_NONE;
@@ -1154,7 +1154,7 @@ int ms_check_storage(void **handle, const char *storage_id, const char *storage_
        MS_DBG("ms_check_storage Start");
 
        for (lib_index = 0; lib_index < lib_num; lib_index++) {
-               ret = ((CHECK_STORAGE)func_array[lib_index][eCHECK_STORAGE])(handle[lib_index], storage_id, storage_name, storage_path, validity, &err_msg);
+               ret = ((CHECK_STORAGE)func_array[lib_index][eCHECK_STORAGE])(handle[lib_index], storage_id, storage_name, storage_path, validity, uid, &err_msg);
                if (ret != 0) {
                        MS_DBG_ERR("error : %s [%s]", g_array_index(so_array, char*, lib_index), err_msg);
                        MS_SAFE_FREE(err_msg);
index 22d3b6a..7f99c25 100755 (executable)
@@ -88,7 +88,7 @@ int ms_usb_insert_handler(const char *mount_path, const char *mount_uuid)
                }
 
                /* update storage information into media DB */
-               ret = ms_check_storage(handle, mount_uuid, NULL, &storage_path, &validity);
+               ret = ms_check_storage(handle, mount_uuid, NULL, &storage_path, &validity, uid);
                if (ret == 0) {
                        if (validity == 1) {
                                MS_DBG_ERR("This storage is already updated. So ignore this event.");
@@ -338,7 +338,7 @@ int ms_mmc_remove_handler(const char *mount_path)
        }
 
        if (mount_path == NULL) {
-               ret = ms_check_storage(handle, MMC_STORAGE_ID, NULL, &storage_path, &validity);
+               ret = ms_check_storage(handle, MMC_STORAGE_ID, NULL, &storage_path, &validity, uid);
        } else {
                storage_path = strdup(mount_path);
        }
@@ -436,7 +436,7 @@ static void __ms_usb_add_event(const char *mount_path)
 
                if (storage_id != NULL) {
                        /* update storage information into media DB */
-                       ret = ms_check_storage(handle, storage_id, NULL, &storage_path, &validity);
+                       ret = ms_check_storage(handle, storage_id, NULL, &storage_path, &validity, uid);
                        if (ret == 0) {
                                if (validity == 1) {
                                        MS_DBG_ERR("This storage is already updated. So ignore this event.");
@@ -689,7 +689,7 @@ int ms_check_mounted_storage(uid_t uid)
                                int validity = 0;
                                char *db_storage_path = NULL;
 
-                               ret = ms_check_storage(handle, storage_id, NULL, &db_storage_path, &validity);
+                               ret = ms_check_storage(handle, storage_id, NULL, &db_storage_path, &validity, uid);
                                if (ret == 0) {
                                        if (validity == 1) {
                                                MS_DBG_ERR("This storage is already updated.");
@@ -711,7 +711,7 @@ int ms_check_mounted_storage(uid_t uid)
                                                ms_set_folder_validity(handle, storage_id, mounted_path, MS_INVALID, TRUE, uid);
                                                /* update folder table set scan_status=0 first */
                                                ms_set_folder_scan_status(handle, storage_id, NULL, MS_DIR_SCAN_NONE, uid);
-                                               
+
                                                scan_type = MS_SCAN_PART;
                                                MS_SAFE_FREE(db_storage_path);
                                        } else {
index dc20bc0..41bd841 100755 (executable)
@@ -206,7 +206,7 @@ void _ms_datadisc_vconf_cb(void *data)
                        MS_DBG_WARN("MOUNT PATH [%s]", mnt_path);
 
                        /* update storage information into media DB */
-                       ret = ms_check_storage(handle, DATADISC_STORAGE_ID, NULL, &storage_path, &validity);
+                       ret = ms_check_storage(handle, DATADISC_STORAGE_ID, NULL, &storage_path, &validity, uid);
                        if (ret == 0) {
                                ms_set_storage_validity(handle, DATADISC_STORAGE_ID, 1, uid);
                                if (ms_set_storage_scan_status(handle, DATADISC_STORAGE_ID, MEDIA_SCAN_PREPARE, uid) != MS_MEDIA_ERR_NONE) {
@@ -749,7 +749,7 @@ static int __ms_check_disc_status(void)
                        ms_connect_db(&handle, uid);
 
                        /* update storage information into media DB */
-                       ret = ms_check_storage(handle, DATADISC_STORAGE_ID, NULL, &storage_path, &validity);
+                       ret = ms_check_storage(handle, DATADISC_STORAGE_ID, NULL, &storage_path, &validity, uid);
                        if (ret == 0) {
                                ms_set_storage_validity(handle, DATADISC_STORAGE_ID, 1, uid);
                                if (ms_set_storage_scan_status(handle, DATADISC_STORAGE_ID, MEDIA_SCAN_PREPARE, uid) != MS_MEDIA_ERR_NONE) {
index bebb73c..240fed9 100755 (executable)
@@ -520,7 +520,7 @@ int ms_send_storage_scan_request_senior_mode(void **handle)
 
        ms_sys_get_uid(&uid);
 
-       ret = ms_check_storage(handle, storage_id, NULL, &storage_path, &validity);
+       ret = ms_check_storage(handle, storage_id, NULL, &storage_path, &validity, uid);
        if (ret == 0) {
                if (storage_path != NULL) {
                        MS_DBG_WARN("##[senior mode]####[path [%s], %s]###", path, storage_path);