[ACR-1838] Deprecate all bookmark and playlist funtions
[platform/core/api/media-content.git] / src / media_playlist.c
index 3d76b6f..fce4acc 100755 (executable)
@@ -20,6 +20,7 @@
 #include <media_info_private.h>
 #include <media_util_private.h>
 
+// LCOV_EXCL_START
 static void __media_playlist_item_free(gpointer item)
 {
        media_playlist_item_s *_item = (media_playlist_item_s *)item;
@@ -188,7 +189,6 @@ static int __media_playlist_import_item_from_file(const char *playlist_path, GSL
 {
        int tmp_str_len = 0;
        char tmp_str[MAX_PATH_LEN] = {0, };
-       char repl_item[MAX_PATH_LEN] = {0, };
        FILE *fp = NULL;
 
        fp = fopen(playlist_path, "rb");
@@ -198,22 +198,19 @@ static int __media_playlist_import_item_from_file(const char *playlist_path, GSL
        }
 
        while (fgets(tmp_str, MAX_PATH_LEN, fp) != NULL) {
-               memset(repl_item, 0, sizeof(repl_item));
-               _media_content_replace_path(tmp_str, repl_item);
-
-               tmp_str_len = strlen(repl_item);
+               tmp_str_len = strlen(tmp_str);
                /* Check for empty file */
                if (tmp_str_len <= 1)
                        continue;
 
-               if (repl_item[0] == '#')
+               if (tmp_str[0] == '#')
                        continue;
 
 
-               if (repl_item[tmp_str_len - 1] == '\n')
-                       repl_item[tmp_str_len - 1] = '\0';
+               if (tmp_str[tmp_str_len - 1] == '\n')
+                       tmp_str[tmp_str_len - 1] = '\0';
 
-               *item_list = g_slist_append(*item_list, g_strdup(repl_item));
+               *item_list = g_slist_append(*item_list, g_strdup(tmp_str));
        }
 
        fclose(fp);
@@ -223,6 +220,7 @@ static int __media_playlist_import_item_from_file(const char *playlist_path, GSL
 
 int media_playlist_insert_to_db(const char *name, media_playlist_h *playlist)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_insert_to_db() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        int playlist_id = 0;
 
@@ -247,6 +245,7 @@ int media_playlist_insert_to_db(const char *name, media_playlist_h *playlist)
 
 int media_playlist_delete_from_db(int playlist_id)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_delete_from_db() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        char *query_str = NULL;
 
@@ -262,6 +261,7 @@ int media_playlist_delete_from_db(int playlist_id)
 
 int media_playlist_get_playlist_count_from_db(filter_h filter, int *playlist_count)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_get_playlist_count_from_db() is deprecated and will be removed from next release.");
        content_retip_if_fail(playlist_count);
 
        return _media_db_get_group_count(filter, MEDIA_GROUP_PLAYLIST, playlist_count);
@@ -269,6 +269,7 @@ int media_playlist_get_playlist_count_from_db(filter_h filter, int *playlist_cou
 
 int media_playlist_foreach_playlist_from_db(filter_h filter, media_playlist_cb callback, void *user_data)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_foreach_playlist_from_db() is deprecated and will be removed from next release.");
        content_retip_if_fail(callback);
 
        return _media_db_get_playlist(filter, callback, user_data);
@@ -276,6 +277,7 @@ int media_playlist_foreach_playlist_from_db(filter_h filter, media_playlist_cb c
 
 int media_playlist_get_media_count_from_db(int playlist_id, filter_h filter, int *media_count)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_get_media_count_from_db() is deprecated and will be removed from next release.");
        content_retip_if_fail(media_count);
        content_retipm_if_fail(playlist_id > 0, "%d", playlist_id);
 
@@ -284,6 +286,7 @@ int media_playlist_get_media_count_from_db(int playlist_id, filter_h filter, int
 
 int media_playlist_foreach_media_from_db(int playlist_id, filter_h filter, playlist_member_cb callback, void *user_data)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_foreach_media_from_db() is deprecated and will be removed from next release.");
        content_retip_if_fail(callback);
        content_retipm_if_fail(playlist_id > 0, "%d", playlist_id);
 
@@ -292,10 +295,13 @@ int media_playlist_foreach_media_from_db(int playlist_id, filter_h filter, playl
 
 int media_playlist_destroy(media_playlist_h playlist)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_destroy() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
 
        content_retip_if_fail(playlist);
 
+       __media_playlist_item_release(_playlist);
+
        g_free(_playlist->name);
        g_free(_playlist->thumbnail_path);
        g_free(_playlist);
@@ -305,6 +311,7 @@ int media_playlist_destroy(media_playlist_h playlist)
 
 int media_playlist_clone(media_playlist_h *dst, media_playlist_h src)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_clone() is deprecated and will be removed from next release.");
        media_playlist_s *_src = (media_playlist_s *)src;
 
        content_retip_if_fail(dst);
@@ -322,6 +329,7 @@ int media_playlist_clone(media_playlist_h *dst, media_playlist_h src)
 
 int media_playlist_get_playlist_from_db(int playlist_id, media_playlist_h *playlist)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_get_playlist_from_db() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        sqlite3_stmt *stmt = NULL;
        char *query = NULL;
@@ -357,6 +365,7 @@ int media_playlist_get_playlist_from_db(int playlist_id, media_playlist_h *playl
 
 int media_playlist_get_playlist_id(media_playlist_h playlist, int *playlist_id)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_get_playlist_id() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
 
        content_retip_if_fail(playlist);
@@ -369,6 +378,7 @@ int media_playlist_get_playlist_id(media_playlist_h playlist, int *playlist_id)
 
 int media_playlist_get_name(media_playlist_h playlist, char **name)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_get_name() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
 
        content_retip_if_fail(playlist);
@@ -381,6 +391,7 @@ int media_playlist_get_name(media_playlist_h playlist, char **name)
 
 int media_playlist_get_thumbnail_path(media_playlist_h playlist, char **path)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_get_thumbnail_path() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
 
        content_retip_if_fail(playlist);
@@ -393,6 +404,7 @@ int media_playlist_get_thumbnail_path(media_playlist_h playlist, char **path)
 
 int media_playlist_get_play_order(media_playlist_h playlist, int playlist_member_id, int *play_order)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_get_play_order() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        sqlite3_stmt *stmt = NULL;
@@ -417,6 +429,7 @@ int media_playlist_get_play_order(media_playlist_h playlist, int playlist_member
 
 int media_playlist_set_name(media_playlist_h playlist, const char *playlist_name)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_set_name() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        media_playlist_item_s *item = NULL;
 
@@ -438,6 +451,7 @@ int media_playlist_set_name(media_playlist_h playlist, const char *playlist_name
 
 int media_playlist_set_thumbnail_path(media_playlist_h playlist, const char *path)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_set_thumbnail_path() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        media_playlist_item_s *item = NULL;
 
@@ -459,6 +473,7 @@ int media_playlist_set_thumbnail_path(media_playlist_h playlist, const char *pat
 
 int media_playlist_set_play_order(media_playlist_h playlist, int playlist_member_id, int play_order)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_set_play_order() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        media_playlist_item_s *item = NULL;
 
@@ -479,6 +494,7 @@ int media_playlist_set_play_order(media_playlist_h playlist, int playlist_member
 
 int media_playlist_add_media(media_playlist_h playlist, const char *media_id)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_add_media() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        media_playlist_item_s *item = NULL;
 
@@ -497,6 +513,7 @@ int media_playlist_add_media(media_playlist_h playlist, const char *media_id)
 
 int media_playlist_remove_media(media_playlist_h playlist, int playlist_member_id)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_remove_media() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        media_playlist_item_s *item = NULL;
 
@@ -553,6 +570,7 @@ void __media_playlist_foreach_request(gpointer data, gpointer user_data)
 
 int media_playlist_update_to_db(media_playlist_h playlist)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_update_to_db() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
 
@@ -617,20 +635,17 @@ static void __media_playlist_foreach_item(gpointer item, gpointer user_data)
 
 int media_playlist_import_from_file(const char *path, const char *playlist_name, media_playlist_h *playlist)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_import_from_file() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        GSList *item_list = NULL;
-       char repl_path[MAX_PATH_LEN] = {0, };
 
        content_retip_if_fail(STRING_VALID(path));
        content_retip_if_fail(STRING_VALID(playlist_name));
 
-       ret = _media_content_replace_path(path, repl_path);
-       content_retvm_if(!STRING_VALID(repl_path), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
-
        ret = media_playlist_insert_to_db(playlist_name, playlist);
        content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "media_playlist_insert_to_db fail");
 
-       ret = __media_playlist_import_item_from_file(repl_path, &item_list);
+       ret = __media_playlist_import_item_from_file(path, &item_list);
        content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "Fail to get playlist from file");
 
        g_slist_foreach(item_list, __media_playlist_foreach_item, playlist);
@@ -643,41 +658,39 @@ int media_playlist_import_from_file(const char *path, const char *playlist_name,
 
 int media_playlist_export_to_file(media_playlist_h playlist, const char *path)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_export_to_file() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        GList *item_list = NULL;
-       unsigned int idx = 0;
-       char repl_path[MAX_PATH_LEN] = {0, };
+       GList *iter = NULL;
+       char *item = NULL;
 
        content_retip_if_fail(STRING_VALID(path));
        content_retip_if_fail(playlist);
        content_retipm_if_fail(_playlist->playlist_id > 0, "%d", _playlist->playlist_id);
 
-       ret = _media_content_replace_path(path, repl_path);
-       content_retvm_if(!STRING_VALID(repl_path), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
-
        ret = _media_db_get_playlist_item(_playlist->playlist_id, NULL, __media_playlist_member_cb, &item_list);
        content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "_media_db_get_playlist_item fail");
 
-       ret = __media_playlist_reset_file(repl_path);
+       ret = __media_playlist_reset_file(path);
        if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               g_list_free_full(item_list, g_free);
                content_error("Fail to init playlist file");
-               return ret;
+               goto FINALIZE;
        }
 
-       for (idx = 0; idx < g_list_length(item_list); idx++) {
-               char *item = g_list_nth_data(item_list, idx);
-               if (STRING_VALID(item)) {
-                       ret = __media_playlist_append_to_file(repl_path, item);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                               g_list_free_full(item_list, g_free);
-                               content_error("Fail to export paths into file");
-                               return ret;
-                       }
+       for (iter = item_list; iter; iter = g_list_next(iter)) {
+               item = (char *)iter->data;
+               if (!STRING_VALID(item))
+                       continue;
+
+               ret = __media_playlist_append_to_file(path, item);
+               if (ret != MEDIA_CONTENT_ERROR_NONE) {
+                       content_error("Fail to export paths into file");
+                       goto FINALIZE;
                }
        }
 
+FINALIZE:
        g_list_free_full(item_list, g_free);
 
        return ret;
@@ -685,6 +698,7 @@ int media_playlist_export_to_file(media_playlist_h playlist, const char *path)
 
 int media_playlist_create(media_playlist_h *playlist)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_create() is deprecated and will be removed from next release.");
        content_retip_if_fail(playlist);
 
        media_playlist_s *_playlist = g_new0(media_playlist_s, 1);
@@ -701,6 +715,7 @@ int media_playlist_create(media_playlist_h *playlist)
 
 int media_playlist_get_play_order_v2(int playlist_id, int playlist_member_id, int *play_order)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_get_play_order_v2() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        sqlite3_stmt *stmt = NULL;
        char *query = NULL;
@@ -725,6 +740,7 @@ int media_playlist_get_play_order_v2(int playlist_id, int playlist_member_id, in
 
 int media_playlist_insert_to_db_v2(media_playlist_h playlist)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_insert_to_db_v2() is deprecated and will be removed from next release.");
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        int playlist_id = 0;
@@ -746,6 +762,7 @@ int media_playlist_insert_to_db_v2(media_playlist_h playlist)
 
 int media_playlist_update_to_db_v2(int playlist_id, media_playlist_h playlist)
 {
+       content_warn("DEPRECATION WARNING: media_playlist_update_to_db_v2() is deprecated and will be removed from next release.");
        media_playlist_s *_playlist = (media_playlist_s *)playlist;
        content_retip_if_fail(playlist);
 
@@ -753,3 +770,4 @@ int media_playlist_update_to_db_v2(int playlist_id, media_playlist_h playlist)
 
        return media_playlist_update_to_db(playlist);
 }
+// LCOV_EXCL_STOP