*
* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
*
- * Contact: Hyunjun Ko <zzoon.ko@samsung.com>, Haejeong Kim <backto.kim@samsung.com>
- *
* 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
#include <string.h>
#include <stdbool.h>
+#include <sys/types.h>
#include <sqlite3.h>
#include <time.h>
-#include <media-util.h>
+#include <glib.h>
+#include <media-util-err.h>
#ifdef __cplusplus
extern "C" {
#endif
-#define STRING_VALID(str) (str != NULL && strlen(str) > 0)
-
-#define SAFE_STRLCAT(dst, src, n) do { \
- if (src) \
- g_strlcat(dst, src, n); \
- } while (0)
-
-#define SAFE_STRLCPY(dst, src, n) do { \
- if (src) \
- g_strlcpy(dst, src, n); \
- } while (0)
+#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 *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 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_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_BOOK = 5, /**< Book Content like epub*/
} media_svc_media_type_e;
-char * _media_info_generate_uuid(void);
+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_thumbnail_path(char *thumb_path, const char *pathname, const char *img_format, uid_t uid);
int _media_svc_get_file_time(const char *full_path);
-char * _media_svc_get_title_by_path(const char *path);
-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);
+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 *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
}