X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Finclude%2Fcommon%2Fmedia-svc-util.h;h=4849395405ec15cfe4b359a092f2209dc9636516;hb=refs%2Fchanges%2F03%2F307503%2F2;hp=2b69c46e6ceec041b4bbc34c93eaccb6799700a3;hpb=0761b51ef48bd45c439aeb1d2afc86c8931640c1;p=platform%2Fcore%2Fmultimedia%2Flibmedia-service.git diff --git a/src/include/common/media-svc-util.h b/src/include/common/media-svc-util.h index 2b69c46..4849395 100755 --- a/src/include/common/media-svc-util.h +++ b/src/include/common/media-svc-util.h @@ -3,8 +3,6 @@ * * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. * - * Contact: Hyunjun Ko , Haejeong Kim - * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -26,100 +24,56 @@ #include #include +#include #include #include -#include "media-svc-env.h" +#include +#include #ifdef __cplusplus extern "C" { #endif -#define SAFE_FREE(src) { if (src) {free(src); src = NULL; } } -#define STRING_VALID(str) \ - ((str != NULL && strlen(str) > 0) ? true : false) - -#define SAFE_STRLCAT(dst, src, n) g_strlcat(dst, src, n); -#define SAFE_STRLCPY(dst, src, n) g_strlcpy(dst, src, n); +#define STRING_VALID(str) (str && strlen(str) > 0) /** * Media meta data information */ typedef struct { - char *title; /**< track title*/ - char *album; /**< album name*/ - char *artist; /**< artist name*/ - char *album_artist; /**< artist name*/ - char *genre; /**< genre of track*/ - char *composer; /**< composer name*/ - char *year; /**< year*/ - char *recorded_date; /**< recorded date*/ - char *copyright; /**< copyright*/ - char *track_num; /**< track number*/ - char *description; /**< description*/ - int bitrate; /**< bitrate*/ - int samplerate; /**< samplerate*/ - int channel; /**< channel*/ - int duration; /**< duration*/ - float longitude; /**< longitude*/ - float latitude; /**< latitude*/ - float altitude; /**< altitude*/ - char *exposure_time; /**< exposure_time*/ - float fnumber; /**< fnumber*/ - int iso; /**< iso*/ - char *model; /**< model*/ - int width; /**< width*/ - int height; /**< height*/ - char *datetaken; /**< datetaken*/ - int orientation; /**< orientation*/ - int rating; /**< user defined rating */ - int bitpersample; /**< bitrate*/ - - char *file_name_pinyin; /**< pinyin for file_name*/ - char *title_pinyin; /**< pinyin for title*/ - char *album_pinyin; /**< pinyin for album*/ - char *artist_pinyin; /**< pinyin for artist*/ - char *album_artist_pinyin; /**< pinyin for album_artist*/ - char *genre_pinyin; /**< pinyin for genre*/ - char *composer_pinyin; /**< pinyin for composer*/ - char *copyright_pinyin; /**< pinyin for copyright*/ - char *description_pinyin; /**< pinyin for description*/ - int is_360; + char *title; /**< track title*/ + char *album; /**< album name*/ + char *artist; /**< artist name*/ + char *album_artist; /**< artist name*/ + char *genre; /**< genre of track*/ + char *year; /**< year*/ + char *recorded_date; /**< recorded date*/ + char *copyright; /**< copyright*/ + char *track_num; /**< track number*/ + int width; /**< width*/ + int height; /**< height*/ + char *datetaken; /**< datetaken*/ + int orientation; /**< orientation*/ } media_svc_content_meta_s; /** * Media data information */ typedef struct { - char *media_uuid; /**< Unique ID of item */ - char *path; /**< Full path of media file */ - char *file_name; /**< File name of media file. Display name */ - char *file_name_pinyin; /**< File name pinyin of media file. Display name */ - int media_type; /**< Type of media file : internal/external */ - char *mime_type; /**< Full path and file name of media file */ - unsigned long long size; /**< size */ - time_t added_time; /**< added time, time_t */ - time_t modified_time; /**< modified time, time_t */ - time_t timeline; /**< timeline of media, time_t */ - char *folder_uuid; /**< Unique ID of folder */ - int album_id; /**< Unique ID of album */ - char *thumbnail_path; /**< Thumbnail image file path */ - time_t favourate; /**< time favourate set */ - int is_drm; /**< is_drm. o or 1 */ - int sync_status; /**< sync_status */ - int storage_type; /**< Storage of media file : internal/external */ - char *storage_uuid; /**< Unique ID of storage */ - media_svc_content_meta_s media_meta; /**< meta data structure for audio files */ + char *media_uuid; /**< Unique ID of item */ + char *path; /**< Full path of media file */ + char *file_name; /**< File name of media file. Display name */ + int media_type; /**< Type of media file : internal/external */ + char *mime_type; /**< Full path and file name of media file */ + unsigned long long size; /**< size */ + time_t modified_time; /**< modified time, time_t */ + long long int folder_id; /**< Unique ID of folder */ + int album_id; /**< Unique ID of album */ + char *thumbnail_path; /**< Thumbnail image file path */ + char *storage_uuid; /**< Unique ID of storage */ + media_svc_content_meta_s media_meta; /**< meta data structure */ } media_svc_content_info_s; /** - * Media data information - */ -typedef struct { - char storage_id[MEDIA_SVC_UUID_SIZE + 1]; - char path[MEDIA_SVC_PATHNAME_SIZE]; -} media_svc_file_s; - -/** * Type definition for content type */ typedef enum { @@ -128,27 +82,29 @@ typedef enum { MEDIA_SVC_MEDIA_TYPE_SOUND = 2, /**< Sound Content like Ringtone*/ MEDIA_SVC_MEDIA_TYPE_MUSIC = 3, /**< Music Content like mp3*/ MEDIA_SVC_MEDIA_TYPE_OTHER = 4, /**< Not media Content*/ - MEDIA_SVC_MEDIA_TYPE_PVR = 5, /**< PVR Content*/ - MEDIA_SVC_MEDIA_TYPE_UHD = 6, /**< UHD Content*/ - MEDIA_SVC_MEDIA_TYPE_SCSA = 7, /**< SCSA Content*/ + MEDIA_SVC_MEDIA_TYPE_BOOK = 5, /**< Book Content like epub*/ } media_svc_media_type_e; -char *_media_info_generate_uuid(void); -int _media_svc_remove_file(const char *path); -int _media_svc_get_thumbnail_path(media_svc_media_type_e media_type, char *thumb_path, const char *pathname, const char *img_format, uid_t uid); +typedef enum { + MEDIA_SVC_SEARCH_TYPE_DIRECT = 0, + MEDIA_SVC_SEARCH_TYPE_DB, +} media_svc_search_type_e; + +void _media_svc_remove_file(const char *path); int _media_svc_get_file_time(const char *full_path); -int _media_svc_set_default_value(media_svc_content_info_s *content_info, bool refresh); -int _media_svc_set_media_info(media_svc_content_info_s *content_info, const char *storage_id, ms_user_storage_type_e storage_type, const char *path, bool refresh); +char * _media_svc_get_title_from_filename(const char *filename); +int _media_svc_set_media_info(media_svc_content_info_s *content_info, const char *storage_id, const char *path, bool refresh); int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info); -int _media_svc_extract_media_metadata(sqlite3 *handle, bool is_direct, media_svc_content_info_s *content_info, uid_t uid); -time_t __media_svc_get_timeline_from_str(const char *timstr); +void _media_svc_extract_audio_metadata(sqlite3 *handle, bool is_direct, media_svc_content_info_s *content_info, uid_t uid); +int _media_svc_extract_video_metadata(media_svc_content_info_s *content_info); +int _media_svc_extract_book_metadata(media_svc_content_info_s *content_info); void _media_svc_destroy_content_info(media_svc_content_info_s *content_info); int _media_svc_create_thumbnail(const char *path, char *thumb_path, media_svc_media_type_e media_type, uid_t uid); -int _media_svc_get_pinyin_str(const char *src_str, char **pinyin_str); -bool _media_svc_check_pinyin_support(void); -int _media_svc_extract_music_metadata_for_update(media_svc_content_info_s *content_info, const char *storage_id, const char *path); int _media_svc_get_media_type(const char *path, int *mediatype); -bool _media_svc_is_valid_storage_type(ms_user_storage_type_e storage_type); +bool _media_svc_is_keyword_included(const char *path, const char *keyword); +void _media_svc_update_wordbook(const char *path, uid_t uid); +void _media_svc_clean_wordbook(uid_t uid); +bool _media_svc_get_matched_list(const char *keyword, uid_t uid, GList **list); #ifdef __cplusplus }