Update for modification of db utilities.
[platform/core/multimedia/libmedia-service.git] / include / media-svc-types.h
1 /*
2  * libmedia-service
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Hyunjun Ko <zzoon.ko@samsung.com>, Haejeong Kim <backto.kim@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22
23
24 #ifndef _MEDIA_SVC_TYPES_H_
25 #define _MEDIA_SVC_TYPES_H_
26
27 #include <time.h>
28
29 typedef void MediaSvcHandle;            /**< Handle */
30
31 /**
32  * Type definition for storage type
33  */
34 typedef enum{
35         MEDIA_SVC_STORAGE_INTERNAL = 0,                 /**< Internal storage*/
36         MEDIA_SVC_STORAGE_EXTERNAL = 1,                 /**< External storage*/
37         MEDIA_SVC_STORAGE_CLOUD = 100,                  /**< Cloud Storage*/
38         MEDIA_SVC_STORAGE_MAX,                                  /**< Invalid storage*/
39 }media_svc_storage_type_e;
40
41 /**
42  * Type definition for content type
43  */
44 typedef enum{
45         MEDIA_SVC_MEDIA_TYPE_IMAGE      = 0,    /**< Image Content*/
46         MEDIA_SVC_MEDIA_TYPE_VIDEO      = 1,    /**< Video Content*/
47         MEDIA_SVC_MEDIA_TYPE_SOUND      = 2,    /**< Sound Content like Ringtone*/
48         MEDIA_SVC_MEDIA_TYPE_MUSIC      = 3,    /**< Music Content like mp3*/
49         MEDIA_SVC_MEDIA_TYPE_OTHER      = 4,    /**< Not media Content*/
50 }media_svc_media_type_e;
51
52 /**
53  * Media meta data information
54  */
55 typedef struct {
56         char    *       title;                          /**< track title*/
57         char    *       album;                          /**< album name*/
58         char    *       artist;                         /**< artist name*/
59         char    *       album_artist;           /**< artist name*/
60         char    *       genre;                          /**< genre of track*/
61         char    *       composer;                       /**< composer name*/
62         char    *       year;                           /**< year*/
63         char    *       recorded_date;          /**< recorded date*/
64         char    *       copyright;                      /**< copyright*/
65         char    *       track_num;                      /**< track number*/
66         char    *       description;                    /**< description*/
67         int             bitrate;                                /**< bitrate*/
68         int             samplerate;                     /**< samplerate*/
69         int             channel;                                /**< channel*/
70         int             duration;                       /**< duration*/
71         float           longitude;                      /**< longitude*/
72         float           latitude;                               /**< latitude*/
73         float           altitude;                               /**< altitude*/
74         char    *       exposure_time;          /**< exposure_time*/
75         float           fnumber;                        /**< fnumber*/
76         int             iso;                            /**< iso*/
77         char    *       model;                          /**< model*/
78         int             width;                          /**< width*/
79         int             height;                         /**< height*/
80         char    *       datetaken;                      /**< datetaken*/
81         int             orientation;                    /**< orientation*/
82         int             rating;                         /**< user defined rating */
83         char    *       weather;                                /**< weather of image */
84         int             bitpersample;                           /**< bitrate*/
85
86         char    *       file_name_pinyin;                               /**< pinyin for file_name*/
87         char    *       title_pinyin;                                   /**< pinyin for title*/
88         char    *       album_pinyin;                           /**< pinyin for album*/
89         char    *       artist_pinyin;                                  /**< pinyin for artist*/
90         char    *       album_artist_pinyin;                    /**< pinyin for album_artist*/
91         char    *       genre_pinyin;                                   /**< pinyin for genre*/
92         char    *       composer_pinyin;                                /**< pinyin for composer*/
93         char    *       copyright_pinyin;                               /**< pinyin for copyright*/
94         char    *       description_pinyin;                     /**< pinyin for description*/
95 } media_svc_content_meta_s;
96
97 /**
98  * Media data information
99  */
100 typedef struct {
101         char    *       media_uuid;                                     /**< Unique ID of item */
102         char    *       path;                                           /**< Full path of media file */
103         char    *       file_name;                                      /**< File name of media file. Display name */
104         char    *       file_name_pinyin;                               /**< File name pinyin of media file. Display name */
105         int             media_type;                                     /**< Type of media file : internal/external */
106         char    *       mime_type;                                      /**< Full path and file name of media file */
107         unsigned long long      size;                                                   /**< size */
108         time_t  added_time;                                     /**< added time, time_t */
109         time_t  modified_time;                          /**< modified time, time_t */
110         time_t  timeline;                                       /**< timeline of media, time_t */
111         char    *       folder_uuid;                                    /**< Unique ID of folder */
112         int             album_id;                                       /**< Unique ID of album */
113         char    *       thumbnail_path;                         /**< Thumbnail image file path */
114         int             played_count;                           /**< played count */
115         int             last_played_time;                               /**< last played time */
116         int             last_played_position;                   /**< last played position */
117         int             favourate;                                      /**< favourate. o or 1 */
118         int             is_drm;                                         /**< is_drm. o or 1 */
119         int             sync_status;                                            /**< sync_status  */
120         int             storage_type;                                   /**< Storage of media file : internal/external */
121         char    *       storage_uuid;                                   /**< Unique ID of storage */
122         media_svc_content_meta_s        media_meta;     /**< meta data structure for audio files */
123 } media_svc_content_info_s;
124
125 #endif /*_MEDIA_SVC_TYPES_H_*/