merge with master
[platform/core/api/media-content.git] / include / media_content_type.h
1 /*
2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17
18 #ifndef __TIZEN_MEDIA_CONTENT_TYPE_H__
19 #define __TIZEN_MEDIA_CONTENT_TYPE_H__
20
21 #include <time.h>
22 #include <tizen.h>
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif /* __cplusplus */
27
28
29 #ifndef DEPRECATED_API
30 #define DEPRECATED_API __attribute__ ((deprecated))
31 #endif
32
33 /**
34 * @addtogroup CAPI_MEDIA_CONTENT_MODULE
35 * @{
36 */
37
38 /**
39  * @ingroup CAPI_MEDIA_CONTENT_MODULE
40  * @brief The enumerations of the media file format.
41  */
42 typedef enum
43 {
44         MEDIA_CONTENT_TYPE_IMAGE                = 0,            /**<The type of image */
45         MEDIA_CONTENT_TYPE_VIDEO                = 1,            /**<The type of video */
46         MEDIA_CONTENT_TYPE_SOUND        = 2,            /**<The type of sound */
47         MEDIA_CONTENT_TYPE_MUSIC                = 3,            /**<The type of music */
48         MEDIA_CONTENT_TYPE_OTHERS       = 4,            /**<The type of other */
49 } media_content_type_e;
50
51 /**
52  * @ingroup CAPI_CONTENT_MEDIA_FOLDER_MODULE
53  * @brief The enumerations of the storage type.
54  * @detail This information is used to establish where the folder is.
55  */
56 typedef enum
57 {
58         MEDIA_CONTENT_STORAGE_INTERNAL  = 0,            /**< The device's internal storage */
59         MEDIA_CONTENT_STORAGE_EXTERNAL  = 1,            /**< The device's external storage */
60 } media_content_storage_e;
61
62 /**
63  * @ingroup CAPI_MEDIA_CONTENT_MODULE
64  * @brief The enumerations of media content db update item
65  */
66 typedef enum {
67         MEDIA_ITEM_FILE                 = 0,                            /**< File type ,an item updated to db */
68         MEDIA_ITEM_DIRECTORY    = 1,                            /**< Directory type, an item updated to db */
69 } media_content_db_update_item_type_e;
70
71 /**
72  * @ingroup CAPI_MEDIA_CONTENT_MODULE
73  * @brief The enumerations of media content db update type
74  */
75 typedef enum {
76         MEDIA_CONTENT_INSERT    = 0,                            /**< Insert, the type of DB update */
77         MEDIA_CONTENT_DELETE    = 1,                            /**< Delete, The type of DB update */
78         MEDIA_CONTENT_UPDATE    = 2,                            /**< Update, The type of DB update */
79 } media_content_db_update_type_e;
80
81 /**
82  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
83  * @brief The type of orientation.
84  */
85 typedef enum {
86         MEDIA_CONTENT_ORIENTATION_NOT_AVAILABLE         = 0,            /**< Not available*/
87         MEDIA_CONTENT_ORIENTATION_NORMAL                        = 1,            /**< Normal*/
88         MEDIA_CONTENT_ORIENTATION_HFLIP                         = 2,            /**< Flip horizontal*/
89         MEDIA_CONTENT_ORIENTATION_ROT_180                       = 3,            /**< Rotate 180 degrees*/
90         MEDIA_CONTENT_ORIENTATION_VFLIP                         = 4,            /**< Flip vertical*/
91         MEDIA_CONTENT_ORIENTATION_TRANSPOSE                     = 5,            /**< Transpose*/
92         MEDIA_CONTENT_ORIENTATION_ROT_90                        = 6,            /**< Rotate 90 degrees*/
93         MEDIA_CONTENT_ORIENTATION_TRANSVERSE            = 7,            /**< Transverse*/
94         MEDIA_CONTENT_ORIENTATION_ROT_270                       = 8,            /**< Rotate 270 degrees*/
95 } media_content_orientation_e;
96
97 /**
98  * @ingroup CAPI_MEDIA_CONTENT_MODULE
99  * @brief The enumerations of ordering.
100  */
101 typedef enum
102 {
103         MEDIA_CONTENT_ORDER_ASC         = 0,            /**< ascending order*/
104         MEDIA_CONTENT_ORDER_DESC        = 1,            /**< descending order*/
105 } media_content_order_e;
106
107 /**
108  * @ingroup CAPI_MEDIA_CONTENT_MODULE
109  * @brief The enumerations of collations.
110  */
111 typedef enum
112 {
113         MEDIA_CONTENT_COLLATE_DEFAULT   = 0,            /**< default collation BINARY */
114         MEDIA_CONTENT_COLLATE_NOCASE    = 1,            /**< collation NOCASE, not case sensitive */
115         MEDIA_CONTENT_COLLATE_RTRIM             = 2,            /**< collation RTRIM, trailing space characters are ignored */
116 } media_content_collation_e;
117
118 /**
119  * @ingroup CAPI_MEDIA_CONTENT_MODULE
120  * @brief The enumerations of media content error
121  */
122 typedef enum
123 {
124         MEDIA_CONTENT_ERROR_NONE                                        = TIZEN_ERROR_NONE,                                     /**< Successful */
125         MEDIA_CONTENT_ERROR_INVALID_PARAMETER           = TIZEN_ERROR_INVALID_PARAMETER,        /**< Invalid parameter */
126         MEDIA_CONTENT_ERROR_OUT_OF_MEMORY                       = TIZEN_ERROR_OUT_OF_MEMORY,            /**< Out of memory */
127         MEDIA_CONTENT_ERROR_INVALID_OPERATION           = TIZEN_ERROR_INVALID_OPERATION,        /**< Invalid Operation */
128         MEDIA_CONTENT_FILE_NO_SPACE_ON_DEVICE           = TIZEN_ERROR_FILE_NO_SPACE_ON_DEVICE, /**< No space left on device */
129         MEDIA_CONTENT_ERROR_DB_FAILED                           = TIZEN_ERROR_CONTENT_CLASS | 0x01,     /**< DB operation failed */
130         MEDIA_CONTENT_ERROR_DB_BUSY                             = TIZEN_ERROR_CONTENT_CLASS | 0x02,     /**< DB operation BUSY */
131         MEDIA_CONTENT_ERROR_NETWORK                                     = TIZEN_ERROR_CONTENT_CLASS | 0x03,     /**< Network Fail */
132         MEDIA_CONTENT_ERROR_UNSUPPORTED_CONTENT         = TIZEN_ERROR_CONTENT_CLASS | 0x04,     /**< Unsupported Content */
133 } media_content_error_e;
134
135 /**
136  * @ingroup CAPI_MEDIA_CONTENT_MODULE
137  * @brief The enumerations of media group
138  */
139 typedef enum {
140         MEDIA_CONTENT_GROUP_DISPLAY_NAME = 0,
141         MEDIA_CONTENT_GROUP_TYPE,
142         MEDIA_CONTENT_GROUP_MIME_TYPE,
143         MEDIA_CONTENT_GROUP_SIZE,
144         MEDIA_CONTENT_GROUP_ADDED_TIME,
145         MEDIA_CONTENT_GROUP_MODIFIED_TIME,
146         MEDIA_CONTENT_GROUP_TITLE,
147         MEDIA_CONTENT_GROUP_ARTIST,
148         MEDIA_CONTENT_GROUP_GENRE,
149         MEDIA_CONTENT_GROUP_COMPOSER,
150         MEDIA_CONTENT_GROUP_YEAR,
151         MEDIA_CONTENT_GROUP_RECORDED_DATE,
152         MEDIA_CONTENT_GROUP_COPYRIGHT,
153         MEDIA_CONTENT_GROUP_TRACK_NUM,
154         MEDIA_CONTENT_GROUP_DESCRIPTION,
155         MEDIA_CONTENT_GROUP_LONGITUDE,
156         MEDIA_CONTENT_GROUP_LATITUDE,
157         MEDIA_CONTENT_GROUP_ALTITUDE,
158         MEDIA_CONTENT_GROUP_BURST_IMAGE,
159         MEDIA_CONTENT_GROUP_RATING,
160         MEDIA_CONTENT_GROUP_AUTHOR,
161         MEDIA_CONTENT_GROUP_PROVIDER,
162         MEDIA_CONTENT_GROUP_CONTENT_NAME,
163         MEDIA_CONTENT_GROUP_CATEGORY,
164         MEDIA_CONTENT_GROUP_LOCATION_TAG,
165         MEDIA_CONTENT_GROUP_AGE_RATING,
166         MEDIA_CONTENT_GROUP_KEYWORD
167 } media_group_e;
168
169 /**
170  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
171  * @brief The handle to media info.
172  */
173 typedef struct media_info_s *media_info_h;
174
175 /**
176  * @ingroup CAPI_CONTENT_MEDIA_FOLDER_MODULE
177  * @brief The handle to media folder.
178  */
179 typedef struct media_folder_s *media_folder_h;
180
181 /**
182  * @ingroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
183  * @brief The handle to media playlist.
184  */
185 typedef struct media_playlist_s *media_playlist_h;
186
187 /**
188  * @ingroup CAPI_CONTENT_MEDIA_TAG_MODULE
189  * @brief The handle to media tag.
190  */
191 typedef struct media_tag_s *media_tag_h;
192
193 /**
194  * @ingroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE
195  * @brief The handle to media bookmark.
196  */
197 typedef struct media_bookmark_s *media_bookmark_h;
198
199 /**
200  * @ingroup CAPI_CONTENT_MEDIA_ALBUM_MODULE
201  * @brief The handle to media album.
202  */
203 typedef struct media_album_s *media_album_h;
204
205
206 typedef struct media_artist_s *media_artist_h;
207 typedef struct media_genre_s *media_genre_h;
208 typedef struct media_composer_s *media_composer_h;
209 typedef struct media_year_s *media_year_h;
210
211 /**
212  * @ingroup CAPI_CONTENT_MEDIA_IMAGE_MODULE
213  * @brief The handle to image metadata.
214  */
215 typedef struct image_meta_s *image_meta_h;
216
217 /**
218  * @ingroup CAPI_CONTENT_MEDIA_VIDEO_META_MODULE
219  * @brief The handle to video metadata.
220  */
221 typedef struct video_meta_s *video_meta_h;
222
223 /**
224  * @ingroup CAPI_CONTENT_MEDIA_AUDIO_META_MODULE
225  * @brief The handle to audio metadata.
226  */
227 typedef struct audio_meta_s *audio_meta_h;
228
229 /**
230  * @ingroup CAPI_CONTENT_MEDIA_FILTER_MODULE
231  * @brief The handle to media filter.
232  */
233 typedef struct filter_s *filter_h;
234
235 /**
236  * @ingroup CAPI_MEDIA_CONTENT_MODULE
237  * @brief Called when the media scanning is finished.
238  *
239  * @param[in] error The error code
240  * @param[in] user_data The user data passed from the foreach function
241  * @pre media_content_scan()
242  * @see media_content_scan()
243  *
244  */
245 typedef void (*media_scan_completed_cb)(media_content_error_e error, void * user_data);
246
247 /**
248  * @ingroup CAPI_MEDIA_CONTENT_MODULE
249  * @brief Called when notification of media db change is subscribed.
250  *
251  * @param[in] error The error code
252  * @param[in] pid pid which publish notification
253  * @param[in] update_item Update item of notification
254  * @param[in] update_type Update type of notification
255  * @param[in] media_type The type of media content(#media_content_type_e)
256  * @param[in] uuid UUID of media or directory, which is updated
257  * @param[in] path The path of media or directory
258  * @param[in] mime_type The mime type of media info
259  * @param[in] user_data The user data passed from the foreach function
260  * @pre media_content_db_update_subscribe()
261  * @see media_content_db_update_subscribe()
262  *
263  */
264 typedef void (*media_content_db_update_cb)(
265                                                                         media_content_error_e error,
266                                                                         int pid,
267                                                                         media_content_db_update_item_type_e update_item,
268                                                                         media_content_db_update_type_e update_type,
269                                                                         media_content_type_e media_type,
270                                                                         char *uuid,
271                                                                         char *path,
272                                                                         char *mime_type,
273                                                                         void *user_data);
274
275
276 /**
277  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
278  * @brief Iterates over a list of media info.
279  *
280  * @details This callback is called for every available media info.\n
281  *
282  * @remarks To use the @a media outside this function, copy the handle with #media_info_clone() function.
283  *
284  * @param[in] media The handle to media info
285  * @param[in] user_data The user data passed from the foreach function
286  * @return true to continue with the next iteration of the loop,
287  * @return false to break out of the loop.
288  * @pre media_tag_foreach_media_from_db(), media_playlist_foreach_media_from_db(), media_genre_foreach_media_from_db(),
289  *      media_info_foreach_media_from_db(), media_folder_foreach_media_from_db() will invoke this function.
290  * @see media_info_clone()
291  * @see media_album_foreach_media_from_db()
292  * @see media_playlist_foreach_media_from_db()
293  * @see media_tag_foreach_media_from_db()
294  * @see media_info_foreach_media_from_db()
295  * @see media_folder_foreach_media_from_db()
296  */
297 typedef bool (*media_info_cb)(media_info_h media, void *user_data);
298
299 /**
300  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
301  * @brief Called when batch of media items is being inserted to media database.
302  *
303  * @param[in] error The error code
304  * @param[in] current The current count which is inserted
305  * @param[in] total The total count which will be inserted
306  * @pre media_info_insert_batch_to_db()
307  * @see media_info_insert_batch_to_db()
308  *
309  */
310 typedef void (*media_insert_progress_cb)(media_content_error_e error, unsigned int current, unsigned int total, void *user_data);
311
312 /**
313  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
314  * @brief Called when media items is inserted completely.
315  *
316  *
317  * @param[in] media The handle to media info
318  * @param[in] user_data The user data passed from the foreach function
319  * @pre media_info_insert_batch_to_db()
320  * @see media_info_insert_batch_to_db()
321  *
322  */
323 typedef void (*media_insert_completed_cb)(media_content_error_e error, void * user_data);
324
325
326 /**
327  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
328  * @brief Called when burst shot is inserted completely.
329  *
330  * @param[in] media The handle to media info
331  * @param[in] user_data The user data passed from the foreach function
332  * @pre media_info_insert_burst_shot_to_db()
333  * @see media_info_insert_burst_shot_to_db()
334  *
335  */
336 typedef void (*media_insert_burst_shot_completed_cb)(media_content_error_e error, void * user_data);
337
338
339 /**
340  * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
341  * @brief Creates a thumbnail image.
342  *
343  * @details This callback is called for completion of generating the thumbnail image.\n
344  *
345  * @param[in] error The Error code
346  * @param[in] path The Path of thumbnail which is generated
347  * @param[in] user_data The user data passed from the foreach function
348  * @pre media_info_create_thumbnail()
349  * @see media_info_create_thumbnail()
350  */
351 typedef void (*media_thumbnail_completed_cb)(media_content_error_e error, const char *path, void *user_data);
352
353
354 /**
355  * @ingroup CAPI_CONTENT_MEDIA_FOLDER_MODULE
356  * @brief Iterates over a list of folders.
357  *
358  * @details This callback is called for every available media folder.\n
359  *
360  * @remarks To use the @a folder outside this function, copy the handle with #media_folder_clone() function.
361  *
362  * @param[in] folder The handle to media folder
363  * @param[in] user_data The user data passed from the foreach function
364  * @return true to continue with the next iteration of the loop,
365  * @return false to break out of the loop.
366  * @pre media_folder_foreach_folder_from_db() will invoke this function.
367  * @see media_folder_clone()
368  * @see media_folder_foreach_folder_from_db()
369  */
370 typedef bool (*media_folder_cb)(media_folder_h folder, void *user_data);
371
372 /**
373  * @ingroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
374  * @brief Iterates over playlist list.
375  *
376  * @details This callback is called for every playlist in obtained list of playlists.\n
377  *
378  * @remarks To use the @a playlist outside this function, copy the handle with #media_playlist_clone() function.
379  *
380  * @param[in] playlist The handle to media playlist
381  * @param[in] user_data The user data passed from the foreach function
382  * @return true to continue with the next iteration of the loop,
383  * @return false to break out of the loop.
384  * @pre media_playlist_foreach_playlist_from_db() will invoke this function.
385  * @see media_playlist_clone()
386  * @see media_playlist_foreach_playlist_from_db()
387  */
388 typedef bool (*media_playlist_cb)(media_playlist_h playlist, void *user_data);
389
390 /**
391  * @ingroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
392  * @brief Iterates over playlist member.
393  *
394  * @details This callback is called for every media info with playlist member ID in obtained list of media info.\n
395  *
396  * @remarks To use the @a media outside this function, copy the handle with #media_info_clone() function.
397  *
398  * @param[in] playlist_member_id The ID to member of playlist
399  * @param[in] media The handle to media info
400  * @param[in] user_data The user data passed from the foreach function
401  * @return true to continue with the next iteration of the loop,
402  * @return false to break out of the loop.
403  * @pre media_playlist_foreach_media_from_db() will invoke this function.
404  * @see media_info_clone()
405  * @see media_playlist_foreach_media_from_db()
406  */
407 typedef bool(* playlist_member_cb)(int playlist_member_id, media_info_h media, void *user_data);
408
409 /**
410  * @ingroup CAPI_CONTENT_MEDIA_TAG_MODULE
411  * @brief Iterates over a list of tags
412  *
413  * @details This callback is called for every tag in the obtained list of tags.\n
414  *
415  * @remarks To use the @a tag outside this function, copy the handle with #media_tag_clone() function.
416  *
417  * @param[in] tag The handle to media tag
418  * @param[in] user_data The user data passed from the foreach function
419  * @return true to continue with the next iteration of the loop,
420  * @return false to break out of the loop.
421  * @pre media_tag_foreach_tag_from_db(), media_info_foreach_tag_from_db() will invoke this function.
422  * @see media_tag_clone()
423  * @see media_tag_foreach_tag_from_db()
424  * @see media_info_foreach_tag_from_db()
425  */
426 typedef bool (*media_tag_cb)(media_tag_h tag, void *user_data);
427
428 /**
429  * @ingroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE
430  * @brief Iterates over bookmark list
431  *
432  * @details This callback is called for every bookmark in obtained list of bookmarks.\n
433  *
434  * @remarks To use the @a bookmark outside this function, copy the handle with #media_bookmark_clone() function.
435  *
436  * @param[in] bookmark The handle to video bookmark
437  * @param[in] user_data The user data passed from the foreach function
438  * @return true to continue with the next iteration of the loop,
439  * @return false to break out of the loop.
440  * @pre media_info_foreach_bookmark_from_db() will invoke this function.
441  * @see media_info_foreach_bookmark_from_db()
442  */
443 typedef bool (*media_bookmark_cb)(media_bookmark_h bookmark, void *user_data);
444
445 /**
446  * @ingroup CAPI_CONTENT_MEDIA_ALBUM_MODULE
447  * @brief Iterates over album list
448  *
449  * @details This callback is called for every album in obtained list of groups.\n
450  *
451  * @remarks To use the @a album outside this function, copy the handle with #media_album_clone() function.
452  *
453  * @param[in] album The handle to media album
454  * @param[in] user_data The user data passed from the foreach function
455  * @return true to continue with the next iteration of the loop,
456  * @return false to break out of the loop.
457  * @pre media_album_foreach_album_from_db() will invoke this function.
458  * @see media_album_clone()
459  * @see media_album_foreach_album_from_db()
460  */
461 typedef bool (*media_album_cb)(media_album_h album, void *user_data);
462
463 typedef bool (*media_artist_cb)(const char *artist, void *user_data);
464 typedef bool (*media_genre_cb)(const char *genre, void *user_data);
465 typedef bool (*media_composer_cb)(const char *composer, void *user_data);
466 typedef bool (*media_year_cb)(const char *year, void *user_data);
467
468 /**
469  * @ingroup CAPI_CONTENT_MEDIA_GROUP_MODULE
470  * @brief Iterates over media group list
471  *
472  * @details This callback is called for every group in obtained list of groups.\n
473  *
474  * @remarks You should not free group_name returned by this function.
475  *
476  * @param[in] group_name The name of media group
477  * @param[in] user_data The user data passed from the foreach function
478  * @return true to continue with the next iteration of the loop,
479  * @return false to break out of the loop.
480  * @pre media_group_foreach_group_from_db() will invoke this function.
481  * @see media_group_foreach_group_from_db()
482  */
483 typedef bool (*media_group_cb)(const char *group_name, void *user_data);
484
485 /**
486  * @}
487  */
488
489 /**
490  * @addtogroup CAPI_CONTENT_MEDIA_INFO_MODULE
491  * @{
492  *
493  */
494 #define MEDIA_ID "MEDIA_ID"     /**< media id */
495 #define MEDIA_PATH "MEDIA_PATH" /**< media full path */
496 #define MEDIA_DISPLAY_NAME "MEDIA_DISPLAY_NAME" /**< media base name */
497 #define MEDIA_TYPE "MEDIA_TYPE"         /**< media type. 0-image, 1-video, 2-sound, 3-music, 4-other*/
498 #define MEDIA_MIME_TYPE "MEDIA_MIME_TYPE"       /**< media mime type */
499 #define MEDIA_SIZE "MEDIA_SIZE"                         /**< media mime size */
500 #define MEDIA_ADDED_TIME "MEDIA_ADDED_TIME"     /**< media added time */
501 #define MEDIA_MODIFIED_TIME "MEDIA_MODIFIED_TIME"               /**< media modified time */
502 #define MEDIA_THUMBNAIL_PATH "MEDIA_THUMBNAIL_PATH"     /**< media thumbnail path */
503 #define MEDIA_TITLE "MEDIA_TITLE"               /**< media title get from tag or file name */
504 #define MEDIA_ALBUM "MEDIA_ALBUM"       /**< media album name*/
505 #define MEDIA_ARTIST "MEDIA_ARTIST"             /**< media artist*/
506 #define MEDIA_GENRE "MEDIA_GENRE"               /**< media genre*/
507 #define MEDIA_COMPOSER "MEDIA_COMPOSER" /**< media composer*/
508 #define MEDIA_YEAR "MEDIA_YEAR"         /**< media year*/
509 #define MEDIA_RECORDED_DATE "MEDIA_RECORDED_DATE"       /**< media recorded date*/
510 #define MEDIA_COPYRIGHT "MEDIA_COPYRIGHT"               /**< media copyright*/
511 #define MEDIA_TRACK_NUM "MEDIA_TRACK_NUM"       /**< media track number*/
512 #define MEDIA_DESCRIPTION "MEDIA_DESCRIPTION"   /**< media description*/
513 #define MEDIA_BITRATE "MEDIA_BITRATE"           /**< media bitrate*/
514 #define MEDIA_SAMPLERATE "MEDIA_SAMPLERATE"     /**< media sample rate*/
515 #define MEDIA_CHANNEL "MEDIA_CHANNEL"   /**< media channel*/
516 #define MEDIA_DURATION "MEDIA_DURATION" /**< media duration */
517 #define MEDIA_LONGITUDE "MEDIA_LONGITUDE"               /**< media longitude */
518 #define MEDIA_LATITUDE "MEDIA_LATITUDE" /**< media latitude */
519 #define MEDIA_ALTITUDE "MEDIA_ALTITUDE" /**< media altitude */
520 #define MEDIA_WIDTH "MEDIA_WIDTH"       /**< media width*/
521 #define MEDIA_HEIGHT "MEDIA_HEIGHT"     /**< media height*/
522 #define MEDIA_DATETAKEN "MEDIA_DATETAKEN"       /**< media datetaken*/
523 #define MEDIA_ORIENTATION "MEDIA_ORIENTATION"   /**< media orientation*/
524 #define MEDIA_BURST_ID "BURST_ID" /**< media burst id*/
525 #define MEDIA_PLAYED_COUNT "MEDIA_PLAYED_COUNT" /**< media playedcount*/
526 #define MEDIA_LAST_PLAYED_TIME "MEDIA_LAST_PLAYED_TIME" /**< media last played time*/
527 #define MEDIA_LAST_PLAYED_POSITION "MEDIA_LAST_PLAYED_POSITION" /**< media last played position of file*/
528 #define MEDIA_RATING "MEDIA_RATING"     /**< media rating*/
529 #define MEDIA_FAVOURITE "MEDIA_FAVORITE"        /**< 0-not favourite, 1-favourite*/
530 #define MEDIA_AUTHOR "MEDIA_AUTHOR"     /**< media authore*/
531 #define MEDIA_PROVIDER "MEDIA_PROVIDER" /**< media provider*/
532 #define MEDIA_CONTENT_NAME "MEDIA_CONTENT_NAME" /**< media content name*/
533 #define MEDIA_CATEGORY "MEDIA_CATEGORY" /**< media category*/
534 #define MEDIA_LOCATION_TAG "MEDIA_LOCATION_TAG" /**< media location tag*/
535 #define MEDIA_AGE_RATING "MEDIA_AGE_RATING"     /**< media age rating*/
536 #define MEDIA_KEYWORD "MEDIA_KEYWORD"   /**< media keyword*/
537 #define MEDIA_IS_DRM "MEDIA_IS_DRM"     /**< is drm. 0-not drm, 1-drm*/
538 #define MEDIA_STORAGE_TYPE "MEDIA_STORAGE_TYPE" /**< media storage. 0-internal storage, 1-external storage*/
539
540 /**
541  * @}
542  */
543
544
545 /**
546
547  * @addtogroup CAPI_CONTENT_MEDIA_FOLDER_MODULE
548  * @{
549  */
550 #define FOLDER_ID "FOLDER_ID"   /**< folder id */
551 #define FOLDER_PATH "FOLDER_PATH"       /**< folder full path */
552 #define FOLDER_NAME "FOLDER_NAME"               /**< folder base name */
553 #define FOLDER_MODIFIED_TIME "FOLDER_MODIFIED_TIME"     /**< folder modified time */
554 #define FOLDER_STORAGE_TYPE "FOLDER_STORAGE_TYPE"       /**< folder storage. 0-internal storage, 1-external storage*/
555
556 /**
557  * @}
558  */
559
560 /**
561  * @addtogroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
562  * @{
563  */
564 #define PLAYLIST_NAME "PLAYLIST_NAME"   /**< playlist name */
565 #define PLAYLIST_MEMBER_ORDER "PLAYLIST_MEMBER_ORDER"   /**< playlist name */
566 #define PLAYLIST_MEDIA_COUNT "PLAYLIST_MEDIA_COUNT" /**< media count in playlist view */
567
568 /**
569  * @}
570  */
571
572 /**
573  * @addtogroup CAPI_CONTENT_MEDIA_TAG_MODULE
574  * @{
575  */
576 #define TAG_NAME "TAG_NAME"     /**< tag name */
577 #define TAG_MEDIA_COUNT "TAG_MEDIA_COUNT"       /**< media count in tag view */
578
579 /**
580  * @}
581  */
582
583 /**
584  * @addtogroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE
585  * @{
586  */
587 #define BOOKMARK_MARKED_TIME "BOOKMARK_MARKED_TIME"     /**< bookmark marked time */
588
589 /**
590  * @}
591  */
592
593 #ifdef __cplusplus
594 }
595 #endif /* __cplusplus */
596
597
598 #endif /*__TIZEN_MEDIA_CONTENT_TYPE_H__*/