#include <sqlite3.h>
#include <stdlib.h>
#include <stdio.h>
+#include <media-svc.h>
+
#ifdef __cplusplus
extern "C" {
#define DB_FIELD_ADDED_TIME "added_time"
#define SELECT_MEDIA_ITEM "select item_id, file_path, display_name, thumbnail, date_modified,content_type, favourite from item_view where 1"
-#define SELECT_ALL_FOLDER "select folder_uuid, path, name, storage_type,modified_date from (select folder_uuid, path, folder_name as name, storage_type,modified_date from visual_folder where valid=1 union select audio_uuid, path, folder_name as name, storage_type,modified_date from audio_folder) where 1"
+#define SELECT_ALL_FOLDER "select folder_uuid, path, name, storage_type,modified_date from (select folder_uuid, path, folder_name as name, storage_type,modified_date from visual_folder where valid=1 union select folder_uuid, path, folder_name as name, storage_type,modified_date from audio_folder) where 1"
#define SELECT_COUNT_ITEM "select count(*) from item_view where 1"
#define SELECT_TAG_LIST "select _id, tag_name from visual_tag where 1"
#define SELECT_MEDIA_FROM_TAG "SELECT t._id, tm.visual_uuid, m.display_name as display_name, modified_date from ( select _id, tag_name from visual_tag WHERE tag_name='%s' ORDER BY tag_name ASC ) t, ( select visual_uuid, tag_id from visual_tag_map ) tm, ( select visual_uuid, folder_uuid, display_name, modified_date from visual_media) m, ( select folder_uuid, lock_status from visual_folder where valid=1 ) f where tm.tag_id = t._id and m.visual_uuid = tm.visual_uuid and m.folder_uuid = f.folder_uuid and f.lock_status=0 "
#define SELECT_MEDIA_COUNT_FROM_GENRE "select count(*) from audio_media where valid=1 and genre='%s'"
#define SELECT_ALBUM_LIST "select distinct album as name from audio_media where valid=1 "
#define SELECT_MEDIA_FROM_ALBUM "select audio_uuid ,path ,title as display_name,thumbnail_path,modified_date, content_type, favourite,valid,folder_uuid from audio_media where valid=1 and album='%s'"
-#define SELECT_MEDIA_COUNT_FROM_ALBUM "select count(*) from audio_media where valid=1 and genre='%s'"
+#define SELECT_MEDIA_COUNT_FROM_ALBUM "select count(*) from audio_media where valid=1 and album='%s'"
#define SELECT_AUTHOR_LIST "select distinct author as name from audio_media where valid=1 "
#define SELECT_MEDIA_FROM_AUTHOR "select audio_uuid ,path ,title as display_name,thumbnail_path,modified_date, content_type, favourite,valid,folder_uuid from audio_media where valid=1 and author='%s'"
-#define SELECT_MEDIA_COUNT_FROM_AUTHOR "select count(*) from audio_media where valid=1 and genre='%s'"
+#define SELECT_MEDIA_COUNT_FROM_AUTHOR "select count(*) from audio_media where valid=1 and author='%s'"
#define SELECT_MEDIA_ARTIST_LIST "select distinct artist as name from audio_media where valid=1"
#define SELECT_MEDIA_FROM_ARTIST "select audio_uuid ,path ,title as display_name,thumbnail_path,modified_date, content_type, favourite,valid,folder_uuid from audio_media where valid=1 and artist='%s'"
-#define SELECT_MEDIA_COUNT_FROM_ARTIST "select count(*) from audio_media where valid=1 and genre='%s'"
+#define SELECT_MEDIA_COUNT_FROM_ARTIST "select count(*) from audio_media where valid=1 and artist='%s'"
#define SELECT_BOOKMARK_FROM_VIDEO "select _id,visual_uuid,marked_time,thumbnail_path from video_bookmark where visual_uuid='%s' "
*/
int _content_query_sql(char *query_str);
+/**
+ *@internal
+ */
+MediaSvcHandle* _content_get_db_handle();
+
#ifdef __cplusplus
}
\r
#define LOG_TAG "TIZEN_N_MEDIACONTENT"\r
\r
-extern MediaSvcHandle* db_handle;\r
-\r
int audio_meta_destroy(audio_meta_h audio)\r
{\r
int ret;\r
\r
if(_audio != NULL)\r
{\r
- ret = audio_svc_update_item_metadata(db_handle,_audio->audio_id,AUDIO_SVC_TRACK_DATA_PLAYED_COUNT,count,-1);\r
+ ret = audio_svc_update_item_metadata(_content_get_db_handle(),_audio->audio_id,AUDIO_SVC_TRACK_DATA_PLAYED_COUNT,count,-1);\r
\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
}\r
\r
if(_audio != NULL)\r
{\r
- ret = audio_svc_update_item_metadata(db_handle,_audio->audio_id,AUDIO_SVC_TRACK_DATA_PLAYED_TIME,time,-1);\r
+ ret = audio_svc_update_item_metadata(_content_get_db_handle(),_audio->audio_id,AUDIO_SVC_TRACK_DATA_PLAYED_TIME,time,-1);\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret); \r
}\r
else\r
\r
if(_playlist != NULL)\r
{\r
- ret = audio_svc_count_playlist_item(db_handle,_playlist->playlist_id,NULL,NULL, count);\r
+ ret = audio_svc_count_playlist_item(_content_get_db_handle(),_playlist->playlist_id,NULL,NULL, count);\r
\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
}\r
}\r
\r
\r
- ret = audio_svc_add_playlist(db_handle,name,&playlist_id);\r
+ ret = audio_svc_add_playlist(_content_get_db_handle(),name,&playlist_id);\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
if(ret != MEDIA_CONTENT_ERROR_NONE)\r
{\r
\r
if(_playlist != NULL)\r
{\r
- ret = audio_svc_delete_playlist(db_handle,_playlist->playlist_id);\r
+ ret = audio_svc_delete_playlist(_content_get_db_handle(),_playlist->playlist_id);\r
\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
}\r
\r
if(_playlist != NULL && name != NULL)\r
{\r
- ret = audio_svc_update_playlist_name(db_handle,_playlist->playlist_id,name);\r
+ ret = audio_svc_update_playlist_name(_content_get_db_handle(),_playlist->playlist_id,name);\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
if(ret == MEDIA_CONTENT_ERROR_NONE)\r
{\r
if(_playlist != NULL && _item != NULL && _item->media_type == 4)\r
{\r
\r
- ret = audio_svc_add_item_to_playlist(db_handle,_playlist->playlist_id,_item->item_id);\r
+ ret = audio_svc_add_item_to_playlist(_content_get_db_handle(),_playlist->playlist_id,_item->item_id);\r
\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
\r
if(_playlist != NULL && _item != NULL && _item->media_type == 4)\r
{\r
\r
- ret = audio_svc_remove_item_from_playlist_by_audio_id(db_handle,_playlist->playlist_id,_item->item_id);\r
+ ret = audio_svc_remove_item_from_playlist_by_audio_id(_content_get_db_handle(),_playlist->playlist_id,_item->item_id);\r
\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret); \r
}\r
#include <audio-svc-types.h>\r
#include <visual-svc-types.h>\r
#include <visual-svc.h>\r
-#include <media-svc.h>\r
\r
\r
#include <dlog.h>\r
\r
#define LOG_TAG "TIZEN_N_MEDIACONTENT"\r
\r
-MediaSvcHandle* db_handle = NULL;\r
+static MediaSvcHandle* db_handle = NULL;\r
static int ref_count = 0;\r
\r
-\r
-\r
int media_content_connect()\r
{\r
int ret = MEDIA_CONTENT_ERROR_NONE;\r
return ret;\r
}\r
\r
+MediaSvcHandle* _content_get_db_handle()\r
+{\r
+ return db_handle;\r
+}\r
+\r
\r
int _content_query_prepare(sqlite3_stmt** stmt,char* select_query,char* condition_query, char* search_query,char* limit_query,char* order)\r
{\r
\r
#define LOG_TAG "TIZEN_N_MEDIACONTENT"\r
\r
-extern MediaSvcHandle* db_handle;\r
-\r
\r
#define SELECT_AUDIO_FROM_MEDIA "select audio_uuid,genre,album,artist,author,year,copyright,description,format,bitrate,track_num,duration,rating,played_count,last_played_time,added_time,size,category from audio_media where audio_uuid='%s' "\r
#define SELECT_TAG_LIST_FROM_MEDIA "select t._id, t.tag_name from (select _id, tag_name from visual_tag ORDER BY tag_name ASC ) t, ( select visual_uuid, tag_id from visual_tag_map where visual_uuid='%s' ) tm, ( select visual_uuid, folder_uuid from visual_media) m, ( select folder_uuid, lock_status from visual_folder where valid=1 ) f where tm.tag_id = t._id and m.visual_uuid = tm.visual_uuid and m.folder_uuid = f.folder_uuid and f.lock_status=0; "\r
{\r
case MEDIA_CONTENT_TYPE_IMAGE:\r
_type = MINFO_ITEM_IMAGE;\r
- ret = minfo_add_media(db_handle, path, _type);\r
+ ret = minfo_add_media(_content_get_db_handle(), path, _type);\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE, ret);\r
break;\r
case MEDIA_CONTENT_TYPE_VIDEO:\r
_type = MINFO_ITEM_VIDEO;\r
- ret = minfo_add_media(db_handle, path, _type);\r
+ ret = minfo_add_media(_content_get_db_handle(), path, _type);\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE, ret); \r
break;\r
\r
ret = _content_get_audio_category(path,&category);\r
if(ret >= 0)\r
{\r
- ret = audio_svc_insert_item(db_handle, storage_type,path,category); \r
+ ret = audio_svc_insert_item(_content_get_db_handle(), storage_type,path,category); \r
}\r
else\r
{\r
{\r
if(favorite)\r
{\r
- ret = audio_svc_add_item_to_playlist( db_handle, AUDIO_SVC_FAVORITE_LIST_ID, _media->item_id);\r
+ ret = audio_svc_add_item_to_playlist( _content_get_db_handle(), AUDIO_SVC_FAVORITE_LIST_ID, _media->item_id);\r
}\r
else\r
{\r
- ret = audio_svc_remove_item_from_playlist_by_audio_id(db_handle, AUDIO_SVC_FAVORITE_LIST_ID, _media->item_id);\r
+ ret = audio_svc_remove_item_from_playlist_by_audio_id(_content_get_db_handle(), AUDIO_SVC_FAVORITE_LIST_ID, _media->item_id);\r
}\r
}\r
else\r
{ \r
- ret = minfo_update_media_favorite(db_handle, _media->item_id,favorite);\r
+ ret = minfo_update_media_favorite(_content_get_db_handle(), _media->item_id,favorite);\r
}\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
if(ret == MEDIA_CONTENT_ERROR_NONE)\r
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;\r
}\r
\r
- p_ret = minfo_get_item_by_id(db_handle, _item->item_id,&p_item);\r
+ p_ret = minfo_get_item_by_id(_content_get_db_handle(), _item->item_id,&p_item);\r
\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,p_ret);\r
if( (ret == MEDIA_CONTENT_ERROR_NONE) && ( p_item != NULL))\r
{\r
- ret = minfo_get_meta_info(db_handle, _item->item_id,&(p_item->meta_info));\r
+ ret = minfo_get_meta_info(_content_get_db_handle(), _item->item_id,&(p_item->meta_info));\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,p_ret); \r
\r
if( ret != MEDIA_CONTENT_ERROR_NONE)\r
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;\r
}\r
\r
- p_ret = minfo_get_item_by_id(db_handle, _item->item_id,&p_item);\r
+ p_ret = minfo_get_item_by_id(_content_get_db_handle(), _item->item_id,&p_item);\r
\r
\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,p_ret);\r
if( (ret == MEDIA_CONTENT_ERROR_NONE) && ( p_item != NULL))\r
{\r
- ret = minfo_get_meta_info(db_handle, _item->item_id,&(p_item->meta_info));\r
+ ret = minfo_get_meta_info(_content_get_db_handle(), _item->item_id,&(p_item->meta_info));\r
ret = _content_error_capi(MEDIA_CONTENT_TYPE,p_ret); \r
if( ret != MEDIA_CONTENT_ERROR_NONE)\r
{\r
\r
#define LOG_TAG "TIZEN_N_MEDIACONTENT"\r
\r
-extern MediaSvcHandle* db_handle;\r
-\r
-\r
int media_tag_foreach_tag_from_db(media_tag_filter_h filter, media_tag_cb callback,void* user_data)\r
{\r
int ret = MEDIA_CONTENT_ERROR_NONE;\r
return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;\r
}\r
\r
- ret = minfo_add_tag(db_handle,NULL,tag_name);\r
+ ret = minfo_add_tag(_content_get_db_handle(),NULL,tag_name);\r
\r
if(ret == MB_SVC_ERROR_NONE)\r
{\r
media_tag_s* _tag = (media_tag_s*)tag;\r
\r
\r
- ret = minfo_delete_tag(db_handle, NULL, _tag->name);\r
+ ret = minfo_delete_tag(_content_get_db_handle(), NULL, _tag->name);\r
\r
return _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
\r
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER; \r
}\r
\r
- ret = minfo_add_tag(db_handle, _item->item_id,_tag->name);\r
+ ret = minfo_add_tag(_content_get_db_handle(), _item->item_id,_tag->name);\r
\r
return _content_error_capi(MEDIA_CONTENT_TYPE,ret);\r
\r
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;\r
}\r
\r
- ret = minfo_rename_tag(db_handle,_tag->name,name);\r
+ ret = minfo_rename_tag(_content_get_db_handle(),_tag->name,name);\r
\r
if(ret == MB_SVC_ERROR_NONE)\r
{\r
}\r
memset(_item,0x00,sizeof(media_info_s));\r
media_id = (char*)sqlite3_column_text(stmt, 1);\r
- ret = minfo_get_item_by_id(db_handle,media_id, &mitem);\r
+ ret = minfo_get_item_by_id(_content_get_db_handle(),media_id, &mitem);\r
\r
if(ret < 0)\r
{\r
#define LOG_TAG "TIZEN_N_MEDIACONTENT"
-extern MediaSvcHandle* db_handle;
-
-
int video_meta_destroy(video_meta_h video)
{
int ret;
if(_video != NULL )
{
- ret = minfo_update_video_meta_info_int(db_handle,_video->video_id,MINFO_VIDEO_META_BOOKMARK_LAST_PLAYED,time_played);
+ ret = minfo_update_video_meta_info_int(_content_get_db_handle(),_video->video_id,MINFO_VIDEO_META_BOOKMARK_LAST_PLAYED,time_played);
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);
}
else
if(_video != NULL)
{
- ret = minfo_add_bookmark(db_handle,_video->video_id,time,thumbnail_path);
+ ret = minfo_add_bookmark(_content_get_db_handle(),_video->video_id,time,thumbnail_path);
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);
}
else
if( _bookmark != NULL)
{
- ret = minfo_delete_bookmark(db_handle,_bookmark->bookmark_id);
+ ret = minfo_delete_bookmark(_content_get_db_handle(),_bookmark->bookmark_id);
ret = _content_error_capi(MEDIA_CONTENT_TYPE,ret);
}
else