Apply tizen coding rule
[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,         /**< The device's internal storage */
36         MEDIA_SVC_STORAGE_EXTERNAL = 1,         /**< The device's external storage like sd card*/
37         MEDIA_SVC_STORAGE_EXTERNAL_USB = 2,     /**< The external USB storage (Since 2.4) */
38         MEDIA_SVC_STORAGE_CLOUD = 100,          /**< The Cloud storage (Since 2.4) */
39         MEDIA_SVC_STORAGE_MAX,                          /**< Invalid storage*/
40 } media_svc_storage_type_e;
41
42 /**
43  * Type definition for content type
44  */
45 typedef enum {
46         MEDIA_SVC_MEDIA_TYPE_IMAGE      = 0,    /**< Image Content*/
47         MEDIA_SVC_MEDIA_TYPE_VIDEO      = 1,    /**< Video Content*/
48         MEDIA_SVC_MEDIA_TYPE_SOUND      = 2,    /**< Sound Content like Ringtone*/
49         MEDIA_SVC_MEDIA_TYPE_MUSIC      = 3,    /**< Music Content like mp3*/
50         MEDIA_SVC_MEDIA_TYPE_OTHER      = 4,    /**< Not media Content*/
51 } media_svc_media_type_e;
52
53 /**
54  * Media meta data information
55  */
56 typedef struct {
57         char            *title;                         /**< track title*/
58         char            *album;                         /**< album name*/
59         char            *artist;                                /**< artist name*/
60         char            *album_artist;          /**< artist name*/
61         char            *genre;                         /**< genre of track*/
62         char            *composer;                      /**< composer name*/
63         char            *year;                          /**< year*/
64         char            *recorded_date;         /**< recorded date*/
65         char            *copyright;                     /**< copyright*/
66         char            *track_num;                     /**< track number*/
67         char            *description;                   /**< description*/
68         int             bitrate;                                /**< bitrate*/
69         int             samplerate;                     /**< samplerate*/
70         int             channel;                                /**< channel*/
71         int             duration;                       /**< duration*/
72         float           longitude;                      /**< longitude*/
73         float           latitude;                               /**< latitude*/
74         float           altitude;                               /**< altitude*/
75         char            *exposure_time;         /**< exposure_time*/
76         float           fnumber;                        /**< fnumber*/
77         int             iso;                                    /**< iso*/
78         char            *model;                         /**< model*/
79         int             width;                          /**< width*/
80         int             height;                         /**< height*/
81         char            *datetaken;                     /**< datetaken*/
82         int             orientation;                    /**< orientation*/
83         int             rating;                         /**< user defined rating */
84         char            *weather;                       /**< weather of image */
85         int             bitpersample;           /**< bitrate*/
86         char            *category;                      /**< category*/
87         char            *keyword;                       /**< keyword*/
88         char            *location_tag;          /**< location_tag*/
89         char            *content_name;          /**< content_name*/
90         char            *age_rating;                    /**< age_rating*/
91         char            *author;                                /**< author*/
92         char            *provider;                      /**< provider*/
93
94         char            *file_name_pinyin;                              /**< pinyin for file_name*/
95         char            *title_pinyin;                                  /**< pinyin for title*/
96         char            *album_pinyin;                          /**< pinyin for album*/
97         char            *artist_pinyin;                                 /**< pinyin for artist*/
98         char            *album_artist_pinyin;                   /**< pinyin for album_artist*/
99         char            *genre_pinyin;                                  /**< pinyin for genre*/
100         char            *composer_pinyin;                               /**< pinyin for composer*/
101         char            *copyright_pinyin;                              /**< pinyin for copyright*/
102         char            *description_pinyin;                    /**< pinyin for description*/
103 } media_svc_content_meta_s;
104
105 /**
106  * Media data information
107  */
108 typedef struct {
109         char            *media_uuid;                                    /**< Unique ID of item */
110         char            *path;                                          /**< Full path of media file */
111         char            *file_name;                                     /**< File name of media file. Display name */
112         char            *file_name_pinyin;                              /**< File name pinyin of media file. Display name */
113         int             media_type;                                     /**< Type of media file : internal/external */
114         char            *mime_type;                                     /**< Full path and file name of media file */
115         unsigned long long      size;                                                   /**< size */
116         time_t  added_time;                                     /**< added time, time_t */
117         time_t  modified_time;                          /**< modified time, time_t */
118         time_t  timeline;                                       /**< timeline of media, time_t */
119         char            *folder_uuid;                                   /**< Unique ID of folder */
120         int             album_id;                                       /**< Unique ID of album */
121         char            *thumbnail_path;                                /**< Thumbnail image file path */
122         int             played_count;                           /**< played count */
123         int             last_played_time;                               /**< last played time */
124         int             last_played_position;                   /**< last played position */
125         time_t  favourate;                                      /**< time favourate set */
126         int             is_drm;                                         /**< is_drm. o or 1 */
127         int             sync_status;                                            /**< sync_status */
128         int             storage_type;                                   /**< Storage of media file : internal/external */
129         char            *storage_uuid;                                  /**< Unique ID of storage */
130         media_svc_content_meta_s        media_meta;     /**< meta data structure for audio files */
131 } media_svc_content_info_s;
132
133 /**
134  * Type definition for scanning status
135  */
136 typedef enum{
137         MEDIA_SVC_SCAN_PREPARE          = 0,    /**< Prepare scanning*/
138         MEDIA_SVC_SCAN_PROCESSING       = 1,    /**< Process scanning*/
139         MEDIA_SVC_SCAN_STOP                     = 2,    /**< Stop scanning*/
140         MEDIA_SVC_SCAN_COMPLETE         = 3,    /**< Complete scanning*/
141         MEDIA_SVC_SCAN_MAX                      = 4,    /**< Invalid status*/
142 }media_svc_scan_status_type_e;
143
144 #define MEDIA_SVC_DEFAULT_GPS_VALUE                     -200                    /**< Default GPS Value*/
145
146 #endif /*_MEDIA_SVC_TYPES_H_*/