Cleanup _media_svc_extract_audio_metadata
[platform/core/multimedia/libmedia-service.git] / src / include / common / media-svc-util.h
index 9f5ffd2..d38de2d 100755 (executable)
@@ -3,8 +3,6 @@
  *
  * 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 added_time;                      /**< added time, time_t */
+       time_t modified_time;           /**< modified time, time_t */
+       time_t timeline;                        /**< timeline of media, 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;
 
 /**
@@ -123,23 +84,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_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(media_svc_media_type_e media_type, 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
 }