make api for setting metadata and remove duplicated code 45/202245/1
authorhj kim <backto.kim@samsung.com>
Fri, 15 Feb 2019 04:12:02 +0000 (13:12 +0900)
committerhj kim <backto.kim@samsung.com>
Tue, 26 Mar 2019 08:21:08 +0000 (08:21 +0000)
Change-Id: I7a9826159f9b24b020d80e504d99a0d5c77eb519
(cherry picked from commit 80e88c382f5fad0fdf91de9290767c8ba83ba967)

include/media_controller_private.h
src/media_controller_metadata.c
src/media_controller_playlist.c
src/media_controller_server.c

index 2a4358e1c2c22fcbae89c413953c0c10b5479faf..5623361930d7b5ceeecebe24b73d93b84970fe4d 100755 (executable)
@@ -410,6 +410,7 @@ int mc_ipc_send_message_to_server(mc_msg_type_e msg_type, mc_priv_type_e priv_ty
 int mc_ipc_service_connect(mc_priv_type_e type);
 
 int _mc_playlist_update(mc_priv_type_e type, const char *controller_name, mc_playlist_h playlist);
+int _mc_metadata_set(mc_metadata_h metadata, mc_meta_e attribute, const char *value);
 
 #ifdef __cplusplus
 }
index de5e69de752192bab99e0517c5a1c581489ef32e..13d0b0e21975c4294a5879cbc35fb634fa478392 100755 (executable)
 #include "media_controller_private.h"
 #include "media_controller_db.h"
 
+int _mc_metadata_set(mc_metadata_h metadata, mc_meta_e attribute, const char *value)
+{
+       media_controller_metadata_s *_metadata = (media_controller_metadata_s *)metadata;
+
+       mc_retvm_if(_metadata == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
+
+       mc_secure_debug("attribute [%d] value [%s]", attribute, value);
+
+       switch (attribute) {
+       case MC_META_MEDIA_TITLE:
+               MC_SAFE_FREE(_metadata->title);
+               _metadata->title = g_strdup(value);
+               break;
+       case MC_META_MEDIA_ARTIST:
+               MC_SAFE_FREE(_metadata->artist);
+               _metadata->artist = g_strdup(value);
+               break;
+       case MC_META_MEDIA_ALBUM:
+               MC_SAFE_FREE(_metadata->album);
+               _metadata->album = g_strdup(value);
+               break;
+       case MC_META_MEDIA_AUTHOR:
+               MC_SAFE_FREE(_metadata->author);
+               _metadata->author = g_strdup(value);
+               break;
+       case MC_META_MEDIA_GENRE:
+               MC_SAFE_FREE(_metadata->genre);
+               _metadata->genre = g_strdup(value);
+               break;
+       case MC_META_MEDIA_DURATION:
+               MC_SAFE_FREE(_metadata->duration);
+               _metadata->duration = g_strdup(value);
+               break;
+       case MC_META_MEDIA_DATE:
+               MC_SAFE_FREE(_metadata->date);
+               _metadata->date = g_strdup(value);
+               break;
+       case MC_META_MEDIA_COPYRIGHT:
+               MC_SAFE_FREE(_metadata->copyright);
+               _metadata->copyright = g_strdup(value);
+               break;
+       case MC_META_MEDIA_DESCRIPTION:
+               MC_SAFE_FREE(_metadata->description);
+               _metadata->description = g_strdup(value);
+               break;
+       case MC_META_MEDIA_TRACK_NUM:
+               MC_SAFE_FREE(_metadata->track_num);
+               _metadata->track_num = g_strdup(value);
+               break;
+       case MC_META_MEDIA_PICTURE:
+               MC_SAFE_FREE(_metadata->picture);
+               _metadata->picture = g_strdup(value);
+               break;
+       default:
+               mc_error("Invalid Parameter [%d]", attribute);
+               return MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER;
+       }
+
+       return MEDIA_CONTROLLER_ERROR_NONE;
+}
 
 int mc_metadata_clone(mc_metadata_h src, mc_metadata_h *dst)
 {
index 3fbe25468b3367627c544f8893d0267f0d2b4625..20cb80dcd9cc4bdef9082886ebdffd607d7a1326 100755 (executable)
@@ -168,58 +168,12 @@ int mc_playlist_update_item(mc_playlist_h playlist, const char *index, mc_meta_e
                mc_retvm_if(_playlist_item->metadata == NULL, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "invalid playlist item");
        }
 
-       switch (attribute) {
-       case MC_META_MEDIA_TITLE:
-               MC_SAFE_FREE(_playlist_item->metadata->title);
-               _playlist_item->metadata->title = g_strdup(value);
-               break;
-       case MC_META_MEDIA_ARTIST:
-               MC_SAFE_FREE(_playlist_item->metadata->artist);
-               _playlist_item->metadata->artist = g_strdup(value);
-               break;
-       case MC_META_MEDIA_ALBUM:
-               MC_SAFE_FREE(_playlist_item->metadata->album);
-               _playlist_item->metadata->album = g_strdup(value);
-               break;
-       case MC_META_MEDIA_AUTHOR:
-               MC_SAFE_FREE(_playlist_item->metadata->author);
-               _playlist_item->metadata->author = g_strdup(value);
-               break;
-       case MC_META_MEDIA_GENRE:
-               MC_SAFE_FREE(_playlist_item->metadata->genre);
-               _playlist_item->metadata->genre = g_strdup(value);
-               break;
-       case MC_META_MEDIA_DURATION:
-               MC_SAFE_FREE(_playlist_item->metadata->duration);
-               _playlist_item->metadata->duration = g_strdup(value);
-               break;
-       case MC_META_MEDIA_DATE:
-               MC_SAFE_FREE(_playlist_item->metadata->date);
-               _playlist_item->metadata->date = g_strdup(value);
-               break;
-       case MC_META_MEDIA_COPYRIGHT:
-               MC_SAFE_FREE(_playlist_item->metadata->copyright);
-               _playlist_item->metadata->copyright = g_strdup(value);
-               break;
-       case MC_META_MEDIA_DESCRIPTION:
-               MC_SAFE_FREE(_playlist_item->metadata->description);
-               _playlist_item->metadata->description = g_strdup(value);
-               break;
-       case MC_META_MEDIA_TRACK_NUM:
-               MC_SAFE_FREE(_playlist_item->metadata->track_num);
-               _playlist_item->metadata->track_num = g_strdup(value);
-               break;
-       case MC_META_MEDIA_PICTURE:
-               MC_SAFE_FREE(_playlist_item->metadata->picture);
-               _playlist_item->metadata->picture = g_strdup(value);
-               break;
-       default:
-               mc_error("Invalid Parameter [%d]", attribute);
-
+       ret = _mc_metadata_set((mc_playlist_h)_playlist_item->metadata, attribute, value);
+       if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
                if (!found)
                        __release_playlist_item(_playlist_item);
 
-               return MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER;
+               return ret;
        }
 
        if (!found)
index 598ff90cbc01f984ac808b33d95c938a90d91718..a58b68ceedd1ce22cc7b71112c58e4c555b575fa 100755 (executable)
@@ -876,70 +876,7 @@ int mc_server_set_metadata(mc_server_h server, mc_meta_e attribute, const char *
 
        mc_retvm_if(mc_server == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
 
-       mc_secure_debug("meta data set attribute [%d] value [%s]", attribute, value);
-
-       switch (attribute) {
-       case MC_META_MEDIA_TITLE:
-               MC_SAFE_FREE(mc_server->metadata->title);
-               if (value != NULL)
-                       mc_server->metadata->title = strdup(value);
-               break;
-       case MC_META_MEDIA_ARTIST:
-               MC_SAFE_FREE(mc_server->metadata->artist);
-               if (value != NULL)
-                       mc_server->metadata->artist = strdup(value);
-               break;
-       case MC_META_MEDIA_ALBUM:
-               MC_SAFE_FREE(mc_server->metadata->album);
-               if (value != NULL)
-                       mc_server->metadata->album = strdup(value);
-               break;
-       case MC_META_MEDIA_AUTHOR:
-               MC_SAFE_FREE(mc_server->metadata->author);
-               if (value != NULL)
-                       mc_server->metadata->author = strdup(value);
-               break;
-       case MC_META_MEDIA_GENRE:
-               MC_SAFE_FREE(mc_server->metadata->genre);
-               if (value != NULL)
-                       mc_server->metadata->genre = strdup(value);
-               break;
-       case MC_META_MEDIA_DURATION:
-               MC_SAFE_FREE(mc_server->metadata->duration);
-               if (value != NULL)
-                       mc_server->metadata->duration = strdup(value);
-               break;
-       case MC_META_MEDIA_DATE:
-               MC_SAFE_FREE(mc_server->metadata->date);
-               if (value != NULL)
-                       mc_server->metadata->date = strdup(value);
-               break;
-       case MC_META_MEDIA_COPYRIGHT:
-               MC_SAFE_FREE(mc_server->metadata->copyright);
-               if (value != NULL)
-                       mc_server->metadata->copyright = strdup(value);
-               break;
-       case MC_META_MEDIA_DESCRIPTION:
-               MC_SAFE_FREE(mc_server->metadata->description);
-               if (value != NULL)
-                       mc_server->metadata->description = strdup(value);
-               break;
-       case MC_META_MEDIA_TRACK_NUM:
-               MC_SAFE_FREE(mc_server->metadata->track_num);
-               if (value != NULL)
-                       mc_server->metadata->track_num = strdup(value);
-               break;
-       case MC_META_MEDIA_PICTURE:
-               MC_SAFE_FREE(mc_server->metadata->picture);
-               if (value != NULL)
-                       mc_server->metadata->picture = strdup(value);
-               break;
-       default:
-               mc_error("Invalid Parameter [%d]", attribute);
-               return MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER;
-       }
-
-       return MEDIA_CONTROLLER_ERROR_NONE;
+       return _mc_metadata_set((mc_playlist_h)mc_server->metadata, attribute, value);
 }
 
 int mc_server_update_metadata(mc_server_h server)