Improve readability 39/309839/4
authorMinje Ahn <minje.ahn@samsung.com>
Wed, 17 Apr 2024 06:19:35 +0000 (15:19 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Sun, 21 Apr 2024 22:59:30 +0000 (07:59 +0900)
Change-Id: Idd27ff41cda67eaf9e3cdd9c061a0c583761a341
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
include/media_info_private.h
include_product/media_info_private.h
packaging/capi-content-media-content.spec
src/media_content.c
src/media_info.c

index 2dc8479..bf919c3 100644 (file)
@@ -456,7 +456,7 @@ typedef struct _media_content_cb_data {
 #define SELECT_FACE_ID "SELECT media_face_id FROM "DB_TABLE_FACE" WHERE media_id='%q' AND face_rect_x=%d AND face_rect_y=%d AND face_rect_w=%d AND face_rect_h=%d AND face_orientation=%d"
 
 int _content_query_prepare(const char *select_query, const char *condition_query, const char *option_query, sqlite3_stmt **stmt);
-int _content_get_result(char *query, sqlite3_stmt **stmt);
+int _content_get_result(const char *query, sqlite3_stmt **stmt);
 int _content_error_capi(int internal_error);
 int _content_query_sql(char *query_str);
 sqlite3 * _content_get_db_handle(void);
index 7a7afc3..9c78007 100644 (file)
@@ -652,7 +652,7 @@ typedef struct _media_content_scan_cb_data_v2 {
 #define UPDATE_UHD_META_FROM_UHD               "UPDATE "DB_TABLE_UHD" SET content_title=%Q, played_position=%d, played_count=%d WHERE media_id='%q'"
 
 int _content_query_prepare(const char *select_query, const char *condition_query, const char *option_query, sqlite3_stmt **stmt);
-int _content_get_result(char *query, sqlite3_stmt **stmt);
+int _content_get_result(const char *query, sqlite3_stmt **stmt);
 int _content_error_capi(int internal_error);
 int _content_query_sql(char *query_str);
 sqlite3 * _content_get_db_handle(void);
index f389384..9e603e4 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-content-media-content
 Summary:    A Media content library in Tizen Native API
-Version:    0.5.2
+Version:    0.5.3
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 77030a4..90c9e27 100644 (file)
@@ -31,10 +31,7 @@ sqlite3 * _content_get_db_handle(void)
 
 uid_t _content_get_uid(void)
 {
-       if (content_g_uid == 0)
-               return tzplatform_getuid(TZ_USER_NAME);
-       else
-               return content_g_uid;
+       return (content_g_uid == 0) ? tzplatform_getuid(TZ_USER_NAME) : content_g_uid;
 }
 
 int _content_query_prepare(const char *select_query, const char *condition_query, const char *option_query, sqlite3_stmt **stmt)
@@ -61,9 +58,9 @@ int _content_query_prepare(const char *select_query, const char *condition_query
        return ret;
 }
 
-int _content_get_result(char *query, sqlite3_stmt **stmt)
+int _content_get_result(const char *query, sqlite3_stmt **stmt)
 {
-       int err = MEDIA_CONTENT_ERROR_NONE;
+       int err = SQLITE_OK;
 
        content_retip_if_fail(_content_get_db_handle());
        content_retip_if_fail(query);
@@ -118,12 +115,7 @@ int _content_error_capi(int internal_error)
 
 int _content_query_sql(char *query_str)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-
-       /*DB will be updated by Media Server.*/
-       ret = media_db_request_update_db(query_str, _content_get_uid());
-
-       return _content_error_capi(ret);
+       return _content_error_capi(media_db_request_update_db(query_str, _content_get_uid()));
 }
 
 int media_content_connect(void)
@@ -192,8 +184,7 @@ int media_content_disconnect(void)
 int media_content_scan_file(const char *path)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
-       char *folder_path = NULL;
-       int check_file = MEDIA_CONTENT_ERROR_NONE;
+       g_autofree gchar *folder_path = NULL;
        char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0,};
 
        content_retip_if_fail(STRING_VALID(path));
@@ -208,74 +199,45 @@ int media_content_scan_file(const char *path)
                return _content_error_capi(ret);
        }
 
-       check_file = _media_util_check_file_exist(path);
-       if (check_file == MEDIA_CONTENT_ERROR_NONE) {
-               /* This means this path has to be inserted or refreshed */
-               folder_path = g_path_get_dirname(path);
+       ret = _media_util_check_file_exist(path);
+       content_retvm_if(ret == MEDIA_CONTENT_ERROR_PERMISSION_DENIED, ret, "Permission denied");
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               content_debug("No file. Try to delete from DB");
+               ret = media_svc_delete_item_by_path(_content_get_db_handle(), storage_id, path, _content_get_uid());
+               content_retvm_if(ret == MS_MEDIA_ERR_DB_NO_RECORD, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid path");
+               return _content_error_capi(ret);
+       }
 
-               if (_media_util_is_ignorable_dir(folder_path)) {
-                       g_free(folder_path);
-                       return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-               }
+       folder_path = g_path_get_dirname(path);
+       content_retv_if(_media_util_is_ignorable_dir(folder_path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+       content_retvm_if(!_media_util_check_support_media_type(path), MEDIA_CONTENT_ERROR_NOT_SUPPORTED, "Unsupported type");
 
-               g_free(folder_path);
-
-               /* check feature */
-               content_retvm_if(!_media_util_check_support_media_type(path), MEDIA_CONTENT_ERROR_NOT_SUPPORTED, "Unsupported media type");
-
-               ret = media_svc_check_item_exist_by_path(_content_get_db_handle(), storage_id, path);
-               if (ret == MS_MEDIA_ERR_NONE) {
-                       /* Refresh */
-                       ret = media_svc_refresh_item(_content_get_db_handle(), false, storage_id, path, _content_get_uid());
-                       if (ret != MS_MEDIA_ERR_NONE) {
-                               content_error("media_svc_refresh_item failed : %d", ret);
-                               return _content_error_capi(ret);
-                       }
-
-               } else if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
-                       /* Insert */
-                       ret = media_svc_insert_item_immediately(_content_get_db_handle(), storage_id, path, _content_get_uid());
-                       if (ret != MS_MEDIA_ERR_NONE) {
-                               if (ret == MS_MEDIA_ERR_DB_CONSTRAINT_FAIL) {
-                                       content_error("This item is already inserted. This may be normal operation because other process already did this");
-                                       ret = MEDIA_CONTENT_ERROR_NONE;
-                               } else {
-                                       content_error("media_svc_insert_item_immediately failed : %d", ret);
-                               }
-
-                               return _content_error_capi(ret);
-                       }
-               } else {
-                       content_error("media_svc_check_item_exist_by_path failed : %d", ret);
-                       return _content_error_capi(ret);
-               }
-       } else if (check_file == MEDIA_CONTENT_ERROR_PERMISSION_DENIED) {
-               content_error("You have no permission for this file %d", ret);
-               return MEDIA_CONTENT_ERROR_PERMISSION_DENIED;
-       } else {
-               /* This means this path has to be deleted */
-               content_debug("This path doesn't exists in file system... So now start to delete it from DB");
-               ret = media_svc_delete_item_by_path(_content_get_db_handle(), storage_id, path, _content_get_uid());
-               if (ret != MS_MEDIA_ERR_NONE) {
-                       if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
-                               content_error("Does not exist in media DB also... So, this is an invalid parameter");
-                               return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-                       }
-
-                       content_error("media_svc_delete_item_by_path failed : %d", ret);
-                       return _content_error_capi(ret);
-               }
+       ret = media_svc_check_item_exist_by_path(_content_get_db_handle(), storage_id, path);
+       if (ret == MS_MEDIA_ERR_NONE) {
+               /* Refresh */
+               ret = media_svc_refresh_item(_content_get_db_handle(), false, storage_id, path, _content_get_uid());
+               content_retvm_if(ret != MS_MEDIA_ERR_NONE, _content_error_capi(ret), "Refresh failed");
+               return MEDIA_CONTENT_ERROR_NONE;
+       }
+
+       if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
+               /* Insert */
+               ret = media_svc_insert_item_immediately(_content_get_db_handle(), storage_id, path, _content_get_uid());
+               content_retvm_if(ret == MS_MEDIA_ERR_DB_CONSTRAINT_FAIL, MEDIA_CONTENT_ERROR_NONE, "[No error] Already inserted");
+               content_retvm_if(ret != MS_MEDIA_ERR_NONE, _content_error_capi(ret), "Insertion failed");
+               return MEDIA_CONTENT_ERROR_NONE;
        }
 
+       content_error("media_svc_check_item_exist_by_path failed : %d", ret);
+
        return _content_error_capi(ret);
 }
 
-void _media_content_scan_cb(media_request_result_s* result, void *user_data)
+static void __media_content_scan_cb(media_request_result_s *result, void *user_data)
 {
-       int err = -1;
+       int err = _content_error_capi(result->result);
        media_content_scan_cb_data *cb_data = user_data;
 
-       err = _content_error_capi(result->result);
 #ifdef _USE_TVPD_MODE
        if (result->request_type != MEDIA_REQUEST_SCAN_COMPLETE &&
                result->request_type != MEDIA_REQUEST_SCAN_PARTIAL &&
@@ -296,19 +258,17 @@ void _media_content_scan_cb(media_request_result_s* result, void *user_data)
 
        g_free(cb_data);
 #endif
-
-       return;
 }
 
 #ifdef _USE_TVPD_MODE
-void _media_content_scan_cb_v2(media_request_result_s* result, void *user_data)
+static void __media_content_scan_cb_v2(media_request_result_s* result, void *user_data)
 {
-       int err = -1;
+       int err = _content_error_capi(result->result);
        media_content_scan_cb_data_v2 *cb_data = user_data;
        media_content_complete_phase_e complete_phase = -1;
        if (!cb_data)
                content_debug("cb_data is NULL");
-       err = _content_error_capi(result->result);
+
        content_debug("result is %d", err);
 
        if (result->request_type == MEDIA_REQUEST_SCAN_PARTIAL)
@@ -329,8 +289,6 @@ void _media_content_scan_cb_v2(media_request_result_s* result, void *user_data)
        (result->request_type != MEDIA_REQUEST_SCAN_PARTIAL) &&
        (result->request_type != MEDIA_RECURSIVE_START))
                g_free(cb_data);
-
-       return;
 }
 #endif
 
@@ -343,37 +301,30 @@ int media_content_scan_folder(const char *path, bool is_recursive, media_scan_co
        content_retip_if_fail(callback);
 
        ret = _media_content_check_dir(path);
-       content_retvm_if(ret == MEDIA_CONTENT_ERROR_PERMISSION_DENIED, ret, "Permission Denied");
+       content_retvm_if(ret == MEDIA_CONTENT_ERROR_PERMISSION_DENIED, ret, "Permission denied");
 
        content_sec_debug("Path : %s", path);
 
        if (ret == MEDIA_CONTENT_ERROR_NONE) {
                /* If directory exist check that's ignore directory or not*/
-               content_retvm_if(_media_util_is_ignorable_dir(path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid folder path");
+               content_retvm_if(_media_util_is_ignorable_dir(path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid path");
        } else {
                /* This means this folder has to be deleted */
                /* Or, it is real invalid path.. check storage type */
-               if (!ms_user_is_valid_path(_content_get_uid(), path)) {
-                       content_error("ms_user_is_valid_path failed : %d", ret);
-                       return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-               }
+               content_retvm_if(!ms_user_is_valid_path(_content_get_uid(), path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid path");
 
-               content_debug("This path doesn't exists in file system... So will be deleted it from DB");
+               content_debug("No directory. Try to remove from DB");
        }
 
        ret = media_svc_get_storage_id(_content_get_db_handle(), path, storage_id, _content_get_uid());
-       if (ret != MS_MEDIA_ERR_NONE) {
-               content_error("media_svc_get_storage_id failed : %d", ret);
-               return _content_error_capi(ret);
-       }
+       content_retvm_if(ret != MS_MEDIA_ERR_NONE, _content_error_capi(ret), "Failed to get storage id");
 
-       media_content_scan_cb_data *cb_data = NULL;
-       cb_data = g_new0(media_content_scan_cb_data, 1);
+       media_content_scan_cb_data *cb_data = g_new0(media_content_scan_cb_data, 1);
 
        cb_data->callback = callback;
        cb_data->user_data = user_data;
 
-       ret = media_directory_scanning_async(path, storage_id, is_recursive, _media_content_scan_cb, cb_data, _content_get_uid());
+       ret = media_directory_scanning_async(path, storage_id, is_recursive, __media_content_scan_cb, cb_data, _content_get_uid());
        if (ret != MS_MEDIA_ERR_NONE) {
                content_error("media_directory_scanning_async failed : %d", ret);
                g_free(cb_data);
@@ -445,7 +396,7 @@ int media_content_scan_folder_v2(const char *path, bool is_recursive, media_scan
        ret = media_svc_get_storage_id(_content_get_db_handle(), path, storage_id, _content_get_uid());
        /*FIX ME. need to check ret value?*/
 
-       ret = media_directory_scanning_async(path, storage_id, is_recursive, _media_content_scan_cb_v2, cb_data, _content_get_uid());
+       ret = media_directory_scanning_async(path, storage_id, is_recursive, __media_content_scan_cb_v2, cb_data, _content_get_uid());
        if (ret != MS_MEDIA_ERR_NONE) {
                content_error("media_directory_scanning_async failed : %d", ret);
                g_free(cb_data);
@@ -468,19 +419,18 @@ int media_content_cancel_scan_folder(const char *path)
        return _content_error_capi(ret);
 }
 
-void _media_content_db_update_noti_cb(
-                                                       int pid,
-                                                       media_item_type_e item,
-                                                       media_item_update_type_e update_type,
-                                                       char* path,
-                                                       char* uuid,
-                                                       int content_type,
-                                                       char *mime_type,
-                                                       void *user_data)
+void _media_content_db_update_noti_cb(int pid,
+                                                                       media_item_type_e item,
+                                                                       media_item_update_type_e update_type,
+                                                                       char* path,
+                                                                       char* uuid,
+                                                                       int content_type,
+                                                                       char *mime_type,
+                                                                       void *user_data)
 {
        media_noti_cb_s *_noti_info = (media_noti_cb_s *)user_data;
 
-       if (_noti_info != NULL && _noti_info->update_noti_cb)
+       if (_noti_info && _noti_info->update_noti_cb)
                _noti_info->update_noti_cb(
                                        MEDIA_CONTENT_ERROR_NONE,
                                        pid,
@@ -521,6 +471,7 @@ int media_content_remove_db_updated_cb(media_content_noti_h noti_handle)
 
        return _content_error_capi(ret);
 }
+
 #ifdef _USE_TVPD_MODE
 GMutex* _content_get_db_mutex(void)
 {
index 37d3199..e61ca34 100644 (file)
@@ -45,8 +45,6 @@ static void __media_info_insert_completed_cb(media_request_result_s *result, voi
        }
 
        g_free(_cb_data);
-
-       return;
 }
 // LCOV_EXCL_START
 static bool __media_info_isFaceRecognition_feature_supported(void)
@@ -62,7 +60,6 @@ static bool __media_info_isFaceRecognition_feature_supported(void)
 
        return isFaceRecognitionSupported;
 }
-
 // LCOV_EXCL_STOP
 static int __media_info_insert_batch(const char **path_array,
                                        unsigned int array_length,
@@ -73,7 +70,7 @@ static int __media_info_insert_batch(const char **path_array,
        FILE *fp = NULL;
        char list_path[BATCH_REQUEST_FILE_LEN] = {0, };
        unsigned int idx = 0;
-       int nwrites = 0;
+       size_t size = 0;
 
        for (idx = 0; idx < BATCH_REQUEST_MAX; idx++) {
                snprintf(list_path, BATCH_REQUEST_FILE_LEN, "/tmp/request-%ld-%d", media_content_gettid(), idx);
@@ -87,10 +84,7 @@ static int __media_info_insert_batch(const char **path_array,
                }
        }
 
-       if (idx == BATCH_REQUEST_MAX) {
-               content_error("Too many batch request for one thread");
-               return MEDIA_CONTENT_ERROR_DB_BUSY;
-       }
+       content_retvm_if(idx == BATCH_REQUEST_MAX, MEDIA_CONTENT_ERROR_DB_BUSY, "Too many request");
 
        fp = fopen(list_path, "w");
        if (fp == NULL) {
@@ -99,43 +93,32 @@ static int __media_info_insert_batch(const char **path_array,
        }
 
        for (idx = 0; idx < array_length; idx++) {
-               if (STRING_VALID(path_array[idx])) {
-                       int size = strlen(path_array[idx]);
-
-                       ret = __media_info_check_file_validity(path_array[idx]);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                               fclose(fp);
-                               if (unlink(list_path) < 0)
-                                       content_stderror("failed to delete");
-                               return ret;
-                       }
+               if (!STRING_VALID(path_array[idx])) {
+                       content_error("path[%d] is invalid string", idx);
+                       continue;
+               }
 
-                       if (!_media_util_check_support_media_type(path_array[idx])) {
-                               fclose(fp);
-                               if (unlink(list_path) < 0)
-                                       content_stderror("failed to delete");
-                               return MEDIA_CONTENT_ERROR_NOT_SUPPORTED;
-                       }
+               ret = __media_info_check_file_validity(path_array[idx]);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       goto ERROR;
 
-                       nwrites = fwrite(path_array[idx], 1, size, fp);
-                       if (nwrites != size) {
-                               content_stderror("failed to write");
-                               fclose(fp);
-                               if (unlink(list_path) < 0)
-                                       content_stderror("failed to delete");
-                               return MEDIA_CONTENT_ERROR_INVALID_OPERATION;
-                       }
+               if (!_media_util_check_support_media_type(path_array[idx])) {
+                       content_error("Not supported type: index[%d]", idx);
+                       ret = MEDIA_CONTENT_ERROR_NOT_SUPPORTED;
+                       goto ERROR;
+               }
 
-                       nwrites = fwrite("\n", 1, 1, fp);
-                       if (nwrites != 1) {
-                               content_stderror("failed to write");
-                               fclose(fp);
-                               if (unlink(list_path) < 0)
-                                       content_stderror("failed to delete");
-                               return MEDIA_CONTENT_ERROR_INVALID_OPERATION;
-                       }
-               } else {
-                       content_error("path[%d] is invalid string", idx);
+               size = strlen(path_array[idx]);
+               if (fwrite(path_array[idx], 1, size, fp) != size) {
+                       content_stderror("failed to write");
+                       ret = MEDIA_CONTENT_ERROR_INVALID_OPERATION;
+                       goto ERROR;
+               }
+
+               if (fwrite("\n", 1, 1, fp) != 1) {
+                       content_stderror("failed to write");
+                       ret = MEDIA_CONTENT_ERROR_INVALID_OPERATION;
+                       goto ERROR;
                }
        }
 
@@ -156,16 +139,21 @@ static int __media_info_insert_batch(const char **path_array,
                return _content_error_capi(ret);
        }
 
+       return MEDIA_CONTENT_ERROR_NONE;
+ERROR:
+       fclose(fp);
+       if (unlink(list_path) < 0)
+               content_stderror("failed to delete");
+
        return ret;
 }
 
 static int __media_info_check_file_validity(const char *path)
 {
-       char *folder_path = NULL;
+       g_autofree gchar *folder_path = NULL;
        int ret = MEDIA_CONTENT_ERROR_NONE;
 
        content_retip_if_fail(path);
-
        content_retvm_if(_media_util_is_ignorable_file(path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid ignore path");
 
        ret = _media_util_check_file_exist(path);
@@ -173,14 +161,12 @@ static int __media_info_check_file_validity(const char *path)
 
        folder_path = g_path_get_dirname(path);
        if (_media_util_is_ignorable_dir(folder_path))
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-
-       g_free(folder_path);
+               return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
 
-       return ret;
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
-void _media_info_item_get_detail(sqlite3_stmtstmt, media_info_h media)
+void _media_info_item_get_detail(sqlite3_stmt *stmt, media_info_h media)
 {
        media_info_s *_media = (media_info_s*)media;