/**
* @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
*
/**
* @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
*
* @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
*
* @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.
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;
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;
}
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);
#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>
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;
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;