Add code for ACR-420 81/49681/2 accepted/tizen/mobile/20151019.074223 accepted/tizen/tv/20151019.074230 accepted/tizen/wearable/20151019.074241 submit/tizen/20151019.053145
authorHaejeong, Kim <backto.kim@samsung.com>
Mon, 19 Oct 2015 01:30:42 +0000 (10:30 +0900)
committerHaejeong, Kim <backto.kim@samsung.com>
Mon, 19 Oct 2015 01:32:35 +0000 (10:32 +0900)
Change-Id: I735b269dcbaa37ca9d91e4404f2764d9a9be21b5

include/media_content_internal.h
include/media_info.h
src/media_info.c
test/media-content_test.c

index 0921dae..50694ba 100755 (executable)
@@ -118,71 +118,6 @@ int media_storage_get_storage_account(media_storage_h storage, char **storage_ac
 
 /**
 * @internal
-* @brief Creates the media info handle.
-* @since_tizen 2.4
-*
-* @remarks You must release @a media using media_info_destroy().
-*
-* @param[out] media The media info handle
-*
-* @return @c 0 on success,
-*           otherwise a negative error value
-*
-* @retval #MEDIA_CONTENT_ERROR_NONE Successful
-* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
-* @retval #MEDIA_CONTENT_ERROR_DB_FAILED                DB operation failed
-* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
-*
-* @see media_info_destroy()
-*/
-int media_info_create_handle(media_info_h *media);
-int media_info_create(const char *path, media_info_h *media);
-
-/**
-* @internal
-* @brief Inserts media info to database with media info data.
-* @since_tizen 2.4
-*
-* @remarks You must release @a info using media_info_destroy().
-*
-* @privlevel platform
-* @privilege %http://tizen.org/privilege/content.write
-*
-* @param[in] media The media info handle
-* @param[out] info The media info handle to get data from database
-*
-* @return @c 0 on success,
-*           otherwise a negative error value
-*
-* @retval #MEDIA_CONTENT_ERROR_NONE Successful
-* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
-* @retval #MEDIA_CONTENT_ERROR_DB_FAILED                DB operation failed
-* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
-*/
-int media_info_insert_to_db_with_data(media_info_h media, media_info_h *info);
-
-/**
-* @internal
-* @brief Sets the path of media info handle.
-* @since_tizen 2.4
-*
-* @param[in] media The media info handle
-* @param[in] path The path of the media info
-*
-* @return @c 0 on success,
-*           otherwise a negative error value
-*
-* @retval #MEDIA_CONTENT_ERROR_NONE Successful
-* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
-* @retval #MEDIA_CONTENT_ERROR_DB_FAILED                DB operation failed
-* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
-*
-* @post media_info_insert_to_db_with_data()
-*/
-int media_info_set_path(media_info_h media, const char *path);
-
-/**
-* @internal
 * @brief Sets the MIME type of media info handle.
 * @since_tizen 2.4
 *
@@ -203,106 +138,6 @@ int media_info_set_mime_type(media_info_h media, const char *mime_type);
 
 /**
 * @internal
-* @brief Sets the title of media info handle.
-* @since_tizen 2.4
-*
-* @param[in] media The media info handle
-* @param[in] title The title of media info handle
-*
-* @return @c 0 on success,
-*           otherwise a negative error value
-*
-* @retval #MEDIA_CONTENT_ERROR_NONE Successful
-* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
-* @retval #MEDIA_CONTENT_ERROR_DB_FAILED                DB operation failed
-* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
-*
-* @post media_info_insert_to_db_with_data()
-*/
-int media_info_set_title(media_info_h media, const char *title);
-
-/**
-* @internal
-* @brief Sets the album of media info handle.
-* @since_tizen 2.4
-*
-* @param[in] media The media info handle
-* @param[in] album The album of media info handle
-*
-* @return @c 0 on success,
-*           otherwise a negative error value
-*
-* @retval #MEDIA_CONTENT_ERROR_NONE Successful
-* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
-* @retval #MEDIA_CONTENT_ERROR_DB_FAILED                DB operation failed
-* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
-*
-* @post media_info_insert_to_db_with_data()
-*/
-int media_info_set_album(media_info_h media, const char *album);
-
-/**
-* @internal
-* @brief Sets the artist of media info handle.
-* @since_tizen 2.4
-*
-* @param[in] media The media info handle
-* @param[in] artist The artist of media info handle
-*
-* @return @c 0 on success,
-*           otherwise a negative error value
-*
-* @retval #MEDIA_CONTENT_ERROR_NONE Successful
-* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
-* @retval #MEDIA_CONTENT_ERROR_DB_FAILED                DB operation failed
-* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
-*
-* @post media_info_insert_to_db_with_data()
-*/
-int media_info_set_artist(media_info_h media, const char *artist);
-
-/**
-* @internal
-* @brief Sets the genre of media info handle.
-* @since_tizen 2.4
-*
-* @param[in] media The media info handle
-* @param[in] genre The genre of media info handle
-*
-* @return @c 0 on success,
-*           otherwise a negative error value
-*
-* @retval #MEDIA_CONTENT_ERROR_NONE Successful
-* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
-* @retval #MEDIA_CONTENT_ERROR_DB_FAILED                DB operation failed
-* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
-*
-* @post media_info_insert_to_db_with_data()
-*/
-int media_info_set_genre(media_info_h media, const char *genre);
-
-/**
-* @internal
-* @brief Sets the recorded date of media info handle.
-* @since_tizen 2.4
-*
-* @param[in] media The media info handle
-* @param[in] recorded_date The recorded date of media info handle
-*
-* @return @c 0 on success,
-*           otherwise a negative error value
-*
-* @retval #MEDIA_CONTENT_ERROR_NONE Successful
-* @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
-* @retval #MEDIA_CONTENT_ERROR_DB_FAILED                DB operation failed
-* @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
-*
-* @post media_info_insert_to_db_with_data()
-*/
-int media_info_set_recorded_date(media_info_h media, const char *recorded_date);
-
-/**
-* @internal
 * @brief Sets the thumbnail path of media info handle.
 * @since_tizen 2.4
 *
index 688ebbe..80b6860 100755 (executable)
@@ -1660,7 +1660,6 @@ int media_info_create(const char *path, media_info_h *media);
 * @privilege %http://tizen.org/privilege/content.write
 *
 * @param[in] media The media info handle to be inserted
-* @param[out] info The media info handle to get data from database
 *
 * @return @c 0 on success,
 *           otherwise a negative error value
@@ -1672,7 +1671,7 @@ int media_info_create(const char *path, media_info_h *media);
 *
 * @see media_info_create()
 */
-int media_info_insert_to_db_with_data(media_info_h media, media_info_h *info);
+int media_info_insert_to_db_with_data(media_info_h media);
 
 /**
 * @brief Sets the title of media info handle.
index 8f83030..808dc50 100755 (executable)
@@ -2845,7 +2845,7 @@ static int __media_info_destroy(media_info_h media)
        return ret;
 }
 
-int media_info_insert_to_db_with_data(media_info_h media, media_info_h *info)
+int media_info_insert_to_db_with_data(media_info_h media)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
 
@@ -2887,26 +2887,17 @@ int media_info_insert_to_db_with_data(media_info_h media, media_info_h *info)
        media_svc_destroy_content_info(svc_content_info);
        SAFE_FREE(svc_content_info);
 
-       if (info != NULL) {
-               media_info_s *_get_media = (media_info_s*)calloc(1, sizeof(media_info_s));
-               media_content_retvm_if(_get_media == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       /*Fill out the handle*/
+       char *media_file_path = g_strdup(_media->file_path);
+       char *media_string_uuid = g_strdup(_media->storage_uuid);
 
-               ret = _media_info_get_media_info_from_db(_media->file_path, _media->storage_uuid, (media_info_h)_get_media);
+       __media_info_destroy(media);
+       ret = _media_info_get_media_info_from_db(media_file_path, media_string_uuid, media);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("_media_info_get_media_info_from_db fail", ret);
 
-               *info = (media_info_h)_get_media;
-
-               /*Fill out the handle*/
-               char *media_file_path = g_strdup(_media->file_path);
-               char *media_string_uuid = g_strdup(_media->storage_uuid);
-
-               __media_info_destroy(media);
-               ret = _media_info_get_media_info_from_db(media_file_path, media_string_uuid, media);
-               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                       media_content_error("_media_info_get_media_info_from_db fail", ret);
-
-               SAFE_FREE(media_file_path);
-               SAFE_FREE(media_string_uuid);
-       }
+       SAFE_FREE(media_file_path);
+       SAFE_FREE(media_string_uuid);
 
        return ret;
 }
@@ -2997,49 +2988,6 @@ int media_info_create(const char *path, media_info_h *media)
        return ret;
 }
 
-int media_info_create_handle(media_info_h *media)
-{
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-
-       media_content_retvm_if(media == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid handle");
-
-       media_info_s *_media = (media_info_s*)calloc(1, sizeof(media_info_s));
-       media_content_retvm_if(_media == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-
-       _media->audio_meta = (audio_meta_s *)calloc(1, sizeof(audio_meta_s));
-       if (_media->audio_meta == NULL) {
-               SAFE_FREE(_media);
-               media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
-               return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
-       }
-
-       _media->video_meta = (video_meta_s *)calloc(1, sizeof(video_meta_s));
-       if (_media->video_meta == NULL) {
-               SAFE_FREE(_media->audio_meta);
-               SAFE_FREE(_media);
-               media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
-               return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
-       }
-
-       _media->image_meta = (image_meta_s *)calloc(1, sizeof(image_meta_s));
-       if (_media->image_meta == NULL) {
-               SAFE_FREE(_media->audio_meta);
-               SAFE_FREE(_media->video_meta);
-               SAFE_FREE(_media);
-               media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
-               return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
-       }
-
-       _media->storage_type = -1;
-       _media->media_type = -1;
-       _media->modified_time = -1;
-       _media->size = -1;
-
-       *media = (media_info_h)_media;
-
-       return ret;
-}
-
 int media_info_set_path(media_info_h media, const char *path)
 {
        return __media_info_set_str_data(media, MEDIA_INFO_PATH, path);
index dca7426..2972507 100755 (executable)
@@ -19,7 +19,6 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <media_content.h>
-#include <media_content_internal.h>
 #include <media_info_private.h>
 #include <dlog.h>
 #include <pthread.h>
@@ -3081,6 +3080,147 @@ int test_noti()
        return ret;
 }
 
+int test_create_handle(void)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       media_info_h media = NULL;
+       const char *path = "/home/owner/content/test/test.txt";
+       char *str_value = NULL;
+       int int_value = -1;
+       bool bool_value = FALSE;
+       unsigned long long content_size = 0;
+       time_t modified_time = 0;
+       double double_value = 0.0;
+
+       ret = media_info_create(path, &media);
+
+       ret = media_info_set_title(media, "test_title");
+       ret = media_info_set_album(media, "test_album");
+       ret = media_info_set_artist(media, "test_artist");
+       ret = media_info_set_genre(media, "test_genre");
+       ret = media_info_set_recorded_date(media, "test_recorded_date");
+       ret = media_info_set_age_rating(media, "test_age_rating");
+       ret = media_info_set_author(media, "test_author");
+       ret = media_info_set_category(media, "test_category");
+       ret = media_info_set_content_name(media, "test_content_name");
+       ret = media_info_set_description(media, "test_description");
+       ret = media_info_set_display_name(media, "test_display_name");
+       ret = media_info_set_keyword(media, "test_keyword");
+       ret = media_info_set_location_tag(media, "test_location_tag");
+       ret = media_info_set_weather(media, "test_weather");
+       ret = media_info_set_provider(media, "test_provider");
+
+       ret = media_info_set_altitude(media, 100.10);
+       ret = media_info_set_latitude(media, 200.20);
+       ret = media_info_set_longitude(media, 300.30);
+       ret = media_info_set_rating(media, 10);
+       ret = media_info_set_played_time(media);
+       ret = media_info_set_favorite(media, TRUE);
+       ret = media_info_increase_played_count(media);
+       ret = media_info_set_added_time(media, 12345);
+
+       ret = media_info_insert_to_db_with_data(media);
+       if(ret != MEDIA_CONTENT_ERROR_NONE)
+       {
+               media_content_error("media_info_insert_to_db_with_data failed : %d\n", ret);
+               media_info_destroy(media);
+               return ret;
+       }
+
+       ret = media_info_get_media_id(media, &str_value);
+       media_content_debug("media_id = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_file_path(media, &str_value);
+       media_content_debug("file_path = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_title(media, &str_value);
+       media_content_debug("title = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_age_rating(media, &str_value);
+       media_content_debug("age_rating = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_author(media, &str_value);
+       media_content_debug("author = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_category(media, &str_value);
+       media_content_debug("category = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_content_name(media, &str_value);
+       media_content_debug("content_name = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_description(media, &str_value);
+       media_content_debug("description = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_display_name(media, &str_value);
+       media_content_debug("display_name = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_keyword(media, &str_value);
+       media_content_debug("keyword = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_location_tag(media, &str_value);
+       media_content_debug("location_tag = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_weather(media, &str_value);
+       media_content_debug("weather = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_provider(media, &str_value);
+       media_content_debug("provider = [%s]", str_value);
+       SAFE_FREE(str_value);
+
+       ret = media_info_get_longitude(media, &double_value);
+       media_content_debug("longitude = [%lf]", double_value);
+
+       ret = media_info_get_latitude(media, &double_value);
+       media_content_debug("latitude = [%lf]", double_value);
+
+       ret = media_info_get_altitude(media, &double_value);
+       media_content_debug("altitud = [%lf]", double_value);
+
+       ret = media_info_get_rating(media, &int_value);
+       media_content_debug("rating = [%d]", int_value);
+
+       ret = media_info_get_favorite(media, &bool_value);
+       media_content_debug("favorite = [%d]", bool_value);
+
+       ret = media_info_get_played_time(media, &modified_time);
+       media_content_debug("played_time = [%d]", modified_time);
+
+       ret = media_info_get_played_count(media, &int_value);
+       media_content_debug("played_count = [%d]", int_value);
+
+       ret = media_info_get_added_time(media, &modified_time);
+       media_content_debug("added_time = [%d]", modified_time);
+
+       ret = media_info_get_size(media, &content_size);
+       media_content_debug("size = [%d]", content_size);
+
+       ret = media_info_get_modified_time(media, &modified_time);
+       media_content_debug("modified_time = [%d]", modified_time);
+
+       ret = media_info_get_media_type(media, (media_content_type_e *)&int_value);
+       media_content_debug("media_type = [%d]", int_value);
+
+       ret = media_info_get_storage_type(media, (media_content_storage_e *)&int_value);
+       media_content_debug("storage_type = [%d]", int_value);
+
+       media_info_destroy(media);
+
+       return ret;
+
+}
+
 bool media_face_test_cb(media_face_h face, void *user_data)
 {
        char *face_id = NULL;
@@ -3327,6 +3467,10 @@ int main(int argc, char *argv[])
        if(ret != MEDIA_CONTENT_ERROR_NONE)
                return MEDIA_CONTENT_ERROR_NONE;
 
+       ret = test_create_handle();
+       if(ret != MEDIA_CONTENT_ERROR_NONE)
+               return MEDIA_CONTENT_ERROR_NONE;
+
        ret = test_face();
        if(ret != MEDIA_CONTENT_ERROR_NONE)
                return MEDIA_CONTENT_ERROR_NONE;