2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #ifndef __TIZEN_MEDIA_CONTENT_TYPE_H__
19 #define __TIZEN_MEDIA_CONTENT_TYPE_H__
26 #endif /* __cplusplus */
29 #ifndef DEPRECATED_API
30 #define DEPRECATED_API __attribute__ ((deprecated))
34 * @file media_content_type.h
35 * @brief This file contains API related to media-content enumerations for media data types, groups, orientations, \n
36 * classes of errors and definitions of media-data. \n
37 * Listed APIs are called when iterating over lists of album, group, bookmark and other media, \n
38 * when media items and burst shot are inserted completely and when notification of media DB change is subscribed.
42 * @addtogroup CAPI_MEDIA_CONTENT_MODULE
47 * @ingroup CAPI_MEDIA_CONTENT_MODULE
48 * @brief Enumeration for the media file format.
49 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
53 MEDIA_CONTENT_TYPE_IMAGE = 0, /**<The type of an image */
54 MEDIA_CONTENT_TYPE_VIDEO = 1, /**<The type of a video */
55 MEDIA_CONTENT_TYPE_SOUND = 2, /**<The type of sound */
56 MEDIA_CONTENT_TYPE_MUSIC = 3, /**<The type of music */
57 MEDIA_CONTENT_TYPE_OTHERS = 4, /**<The type of other */
58 } media_content_type_e;
61 * @ingroup CAPI_CONTENT_MEDIA_CONTENT_MODULE
62 * @brief Enumeration for the storage type.
63 * @details This information is used to establish where the folder is.
64 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
68 MEDIA_CONTENT_STORAGE_INTERNAL = 0, /**< The device's internal storage */
69 MEDIA_CONTENT_STORAGE_EXTERNAL = 1, /**< The device's external storage like sd card*/
70 MEDIA_CONTENT_STORAGE_EXTERNAL_USB = 2, /**< The external USB storage (Since 2.4) */
71 MEDIA_CONTENT_STORAGE_CLOUD = 100, /**< The Cloud storage (Since 2.4) */
72 } media_content_storage_e;
75 * @ingroup CAPI_MEDIA_CONTENT_MODULE
76 * @brief Enumeration for media content DB update items.
77 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
80 MEDIA_ITEM_FILE = 0, /**< File type, an item updated to DB */
81 MEDIA_ITEM_DIRECTORY = 1, /**< Directory type, an item updated to DB */
82 } media_content_db_update_item_type_e;
85 * @ingroup CAPI_MEDIA_CONTENT_MODULE
86 * @brief Enumeration for media content DB update types.
87 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
90 MEDIA_CONTENT_INSERT = 0, /**< Insert, the type of DB update */
91 MEDIA_CONTENT_DELETE = 1, /**< Delete, The type of DB update */
92 MEDIA_CONTENT_UPDATE = 2, /**< Update, The type of DB update */
93 } media_content_db_update_type_e;
96 * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
97 * @brief Enumeration for orientation types.
98 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
101 MEDIA_CONTENT_ORIENTATION_NOT_AVAILABLE = 0, /**< Not available*/
102 MEDIA_CONTENT_ORIENTATION_NORMAL = 1, /**< Normal*/
103 MEDIA_CONTENT_ORIENTATION_HFLIP = 2, /**< Flip horizontal*/
104 MEDIA_CONTENT_ORIENTATION_ROT_180 = 3, /**< Rotate 180 degrees*/
105 MEDIA_CONTENT_ORIENTATION_VFLIP = 4, /**< Flip vertical*/
106 MEDIA_CONTENT_ORIENTATION_TRANSPOSE = 5, /**< Transpose*/
107 MEDIA_CONTENT_ORIENTATION_ROT_90 = 6, /**< Rotate 90 degrees*/
108 MEDIA_CONTENT_ORIENTATION_TRANSVERSE = 7, /**< Transverse*/
109 MEDIA_CONTENT_ORIENTATION_ROT_270 = 8, /**< Rotate 270 degrees*/
110 } media_content_orientation_e;
113 * @ingroup CAPI_MEDIA_CONTENT_MODULE
114 * @brief Enumeration for ordering.
115 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
119 MEDIA_CONTENT_ORDER_ASC = 0, /**< Ascending order*/
120 MEDIA_CONTENT_ORDER_DESC = 1, /**< Descending order*/
121 } media_content_order_e;
124 * @ingroup CAPI_MEDIA_CONTENT_MODULE
125 * @brief Enumeration for collations.
126 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
130 MEDIA_CONTENT_COLLATE_DEFAULT = 0, /**< Default collation BINARY */
131 MEDIA_CONTENT_COLLATE_NOCASE = 1, /**< Collation NOCASE, not case sensitive */
132 MEDIA_CONTENT_COLLATE_RTRIM = 2, /**< Collation RTRIM, trailing space characters are ignored */
133 MEDIA_CONTENT_COLLATE_LOCALIZED = 3, /**< Collation LOCALIZATION, NOCASE also applied */
134 } media_content_collation_e;
136 #define MEDIA_CONTENT_ERROR_CLASS TIZEN_ERROR_MEDIA_CONTENT
139 * @ingroup CAPI_MEDIA_CONTENT_MODULE
140 * @brief Enumeration for a media content error.
141 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
145 MEDIA_CONTENT_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
146 MEDIA_CONTENT_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
147 MEDIA_CONTENT_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
148 MEDIA_CONTENT_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Invalid Operation */
149 MEDIA_CONTENT_FILE_NO_SPACE_ON_DEVICE = TIZEN_ERROR_FILE_NO_SPACE_ON_DEVICE, /**< No space left on device */
150 MEDIA_CONTENT_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied */
151 MEDIA_CONTENT_ERROR_DB_FAILED = MEDIA_CONTENT_ERROR_CLASS | 0x01, /**< DB operation failed */
152 MEDIA_CONTENT_ERROR_DB_BUSY = MEDIA_CONTENT_ERROR_CLASS | 0x02, /**< DB operation BUSY */
153 MEDIA_CONTENT_ERROR_NETWORK = MEDIA_CONTENT_ERROR_CLASS | 0x03, /**< Network Fail */
154 MEDIA_CONTENT_ERROR_UNSUPPORTED_CONTENT = MEDIA_CONTENT_ERROR_CLASS | 0x04, /**< Unsupported Content */
155 } media_content_error_e;
158 * @ingroup CAPI_MEDIA_CONTENT_MODULE
159 * @brief Enumeration for a media group.
160 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
163 MEDIA_CONTENT_GROUP_DISPLAY_NAME = 0, /**< Media group ID for display name */
164 MEDIA_CONTENT_GROUP_TYPE, /**< Media group ID for a media type */
165 MEDIA_CONTENT_GROUP_MIME_TYPE, /**< Media group ID for a mime type */
166 MEDIA_CONTENT_GROUP_SIZE, /**< Media group ID for content size */
167 MEDIA_CONTENT_GROUP_ADDED_TIME, /**< Media group ID for the added time */
168 MEDIA_CONTENT_GROUP_MODIFIED_TIME, /**< Media group ID for the modified time */
169 MEDIA_CONTENT_GROUP_TITLE, /**< Media group ID for a content title */
170 MEDIA_CONTENT_GROUP_ARTIST, /**< Media group ID for an artist*/
171 MEDIA_CONTENT_GROUP_ALBUM_ARTIST, /**< Media group ID for an album artist */
172 MEDIA_CONTENT_GROUP_GENRE, /**< Media group ID for a genre*/
173 MEDIA_CONTENT_GROUP_COMPOSER, /**< Media group ID for a composer*/
174 MEDIA_CONTENT_GROUP_YEAR, /**< Media group ID for a year*/
175 MEDIA_CONTENT_GROUP_RECORDED_DATE, /**< Media group ID for the recorded date*/
176 MEDIA_CONTENT_GROUP_COPYRIGHT, /**< Media group ID for the copyright*/
177 MEDIA_CONTENT_GROUP_TRACK_NUM, /**< Media group ID for a track number*/
178 MEDIA_CONTENT_GROUP_DESCRIPTION, /**< Media group ID for a description */
179 MEDIA_CONTENT_GROUP_LONGITUDE, /**< Media group ID for the longitude*/
180 MEDIA_CONTENT_GROUP_LATITUDE, /**< Media group ID for the latitude*/
181 MEDIA_CONTENT_GROUP_ALTITUDE, /**< Media group ID for the altitude*/
182 MEDIA_CONTENT_GROUP_BURST_IMAGE, /**< Media group ID for the burst shot*/
183 MEDIA_CONTENT_GROUP_RATING, /**< Media group ID for a rating*/
184 MEDIA_CONTENT_GROUP_AUTHOR, /**< Media group ID for an author*/
185 MEDIA_CONTENT_GROUP_PROVIDER, /**< Media group ID for a provider*/
186 MEDIA_CONTENT_GROUP_CONTENT_NAME, /**< Media group ID for the content name*/
187 MEDIA_CONTENT_GROUP_CATEGORY, /**< Media group ID for a category*/
188 MEDIA_CONTENT_GROUP_LOCATION_TAG, /**< Media group ID for a location tag*/
189 MEDIA_CONTENT_GROUP_AGE_RATING, /**< Media group ID for an age rating*/
190 MEDIA_CONTENT_GROUP_KEYWORD, /**< Media group ID for a keyword*/
191 MEDIA_CONTENT_GROUP_WEATHER, /**< Media group ID for the weather*/
192 MEDIA_CONTENT_GROUP_MAX /**< Invalid media group ID*/
196 * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
197 * @brief The structure type for the Media info handle.
198 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
200 typedef struct media_info_s *media_info_h;
203 * @ingroup CAPI_CONTENT_MEDIA_FOLDER_MODULE
204 * @brief The structure type for the Media folder handle.
205 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
207 typedef struct media_folder_s *media_folder_h;
210 * @ingroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
211 * @brief The structure type for the Media playlist handle.
212 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
214 typedef struct media_playlist_s *media_playlist_h;
217 * @ingroup CAPI_CONTENT_MEDIA_TAG_MODULE
218 * @brief The structure type for the Media tag handle.
219 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
221 typedef struct media_tag_s *media_tag_h;
224 * @ingroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE
225 * @brief The structure type for the Media bookmark handle.
226 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
228 typedef struct media_bookmark_s *media_bookmark_h;
231 * @ingroup CAPI_CONTENT_MEDIA_ALBUM_MODULE
232 * @brief The structure type for the Media album handle.
233 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
235 typedef struct media_album_s *media_album_h;
238 * @ingroup CAPI_CONTENT_MEDIA_IMAGE_MODULE
239 * @brief The structure type for the Image metadata handle.
240 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
242 typedef struct image_meta_s *image_meta_h;
245 * @ingroup CAPI_CONTENT_MEDIA_VIDEO_META_MODULE
246 * @brief The structure type for the Video metadata handle.
247 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
249 typedef struct video_meta_s *video_meta_h;
252 * @ingroup CAPI_CONTENT_MEDIA_AUDIO_META_MODULE
253 * @brief The structure type for the Audio metadata handle.
254 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
256 typedef struct audio_meta_s *audio_meta_h;
259 * @ingroup CAPI_CONTENT_MEDIA_FILTER_MODULE
260 * @brief The structure type for the Media filter handle.
261 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
263 typedef struct filter_s *filter_h;
266 * @ingroup CAPI_CONTENT_MEDIA_STORAGE_MODULE
267 * @brief The structure type for the Media storage handle.
270 typedef void *media_storage_h;
273 * @ingroup CAPI_MEDIA_CONTENT_MODULE
274 * @brief Called when the media scanning is finished.
275 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
277 * @param[in] error The error code
278 * @param[in] user_data The user data passed from the foreach function
280 * @pre media_content_scan().
282 * @see media_content_scan()
285 typedef void (*media_scan_completed_cb)(media_content_error_e error, void * user_data);
288 * @ingroup CAPI_MEDIA_CONTENT_MODULE
289 * @brief Called when the notification of the media DB change is subscribed.
290 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
292 * @param[in] error The error code
293 * @param[in] pid The PID which publishes notification
294 * @param[in] update_item The update item of notification
295 * @param[in] update_type The update type of notification
296 * @param[in] media_type The type of the media content (#media_content_type_e)
297 * @param[in] uuid The UUID of media or directory, which is updated
298 * @param[in] path The path of the media or directory
299 * @param[in] mime_type The mime type of the media info
300 * @param[in] user_data The user data passed from the foreach function
302 * @pre media_content_db_update_subscribe().
303 * @see media_content_db_update_subscribe()
305 typedef void (*media_content_db_update_cb)(
306 media_content_error_e error,
308 media_content_db_update_item_type_e update_item,
309 media_content_db_update_type_e update_type,
310 media_content_type_e media_type,
318 * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
319 * @brief Called for every available media info.
320 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
322 * @details Iterates over a list of media info.
324 * @remarks To use the @a media outside this function, copy the handle with media_info_clone() function.
326 * @param[in] media The handle to the media info
327 * @param[in] user_data The user data passed from the foreach function
329 * @return @c true to continue with the next iteration of the loop,
330 * otherwise @c false to break out of the loop
332 * @pre media_tag_foreach_media_from_db(), media_playlist_foreach_media_from_db(), media_genre_foreach_media_from_db(),
333 * media_info_foreach_media_from_db(), media_folder_foreach_media_from_db() will invoke this function.
335 * @see media_info_clone()
336 * @see media_album_foreach_media_from_db()
337 * @see media_playlist_foreach_media_from_db()
338 * @see media_tag_foreach_media_from_db()
339 * @see media_info_foreach_media_from_db()
340 * @see media_folder_foreach_media_from_db()
342 typedef bool (*media_info_cb)(media_info_h media, void *user_data);
346 * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
347 * @brief Called when media items are inserted completely.
348 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
350 * @param[in] media The handle to the media info
351 * @param[in] user_data The user data passed from the foreach function
353 * @pre media_info_insert_batch_to_db()
355 * @see media_info_insert_batch_to_db()
357 typedef void (*media_insert_completed_cb)(media_content_error_e error, void * user_data);
361 * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
362 * @brief Called when the burst shot is inserted completely.
363 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
365 * @param[in] media The handle to the media info
366 * @param[in] user_data The user data passed from the foreach function
368 * @pre media_info_insert_burst_shot_to_db()
370 * @see media_info_insert_burst_shot_to_db()
373 typedef void (*media_insert_burst_shot_completed_cb)(media_content_error_e error, void * user_data);
377 * @ingroup CAPI_CONTENT_MEDIA_INFO_MODULE
378 * @brief Called when creating a thumbnail image.
379 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
381 * @details This callback is called for completion of generating the thumbnail image.
383 * @param[in] error The error code
384 * @param[in] path The path of the thumbnail which is generated
385 * @param[in] user_data The user data passed from the foreach function
387 * @pre media_info_create_thumbnail()
389 * @see media_info_create_thumbnail()
391 typedef void (*media_thumbnail_completed_cb)(media_content_error_e error, const char *path, void *user_data);
395 * @ingroup CAPI_CONTENT_MEDIA_FOLDER_MODULE
396 * @brief Called for every available media folder.
397 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
399 * @details Iterates over a list of folders.
401 * @remarks To use the @a folder outside this function, copy the handle with the media_folder_clone() function.
403 * @param[in] folder The handle to the media folder
404 * @param[in] user_data The user data passed from the foreach function
406 * @return @c true to continue with the next iteration of the loop,
407 * otherwise @c false to break out of the loop
409 * @pre media_folder_foreach_folder_from_db() will invoke this function.
410 * @see media_folder_clone()
411 * @see media_folder_foreach_folder_from_db()
413 typedef bool (*media_folder_cb)(media_folder_h folder, void *user_data);
416 * @ingroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
417 * @brief Called for every playlist in the obtained list of playlists.
418 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
420 * @details Iterates over a playlist list.
422 * @remarks To use the @a playlist outside this function, copy the handle with the media_playlist_clone() function.
424 * @param[in] playlist The handle to the media playlist
425 * @param[in] user_data The user data passed from the foreach function
427 * @return @c true to continue with the next iteration of the loop,
428 * otherwise @c false to break out of the loop
430 * @pre media_playlist_foreach_playlist_from_db() will invoke this function.
432 * @see media_playlist_clone()
433 * @see media_playlist_foreach_playlist_from_db()
435 typedef bool (*media_playlist_cb)(media_playlist_h playlist, void *user_data);
438 * @ingroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
439 * @brief Called for every media info with playlist member ID in the obtained list of media info.
440 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
442 * @details Iterates over playlist members.
444 * @remarks To use the @a media outside this function, copy the handle with the media_info_clone() function.
446 * @param[in] playlist_member_id The ID to member of the playlist
447 * @param[in] media The handle to the media info
448 * @param[in] user_data The user data passed from the foreach function
450 * @return @c true to continue with the next iteration of the loop,
451 * otherwise @c false to break out of the loop
453 * @pre media_playlist_foreach_media_from_db() will invoke this function.
455 * @see media_info_clone()
456 * @see media_playlist_foreach_media_from_db()
458 typedef bool(* playlist_member_cb)(int playlist_member_id, media_info_h media, void *user_data);
461 * @ingroup CAPI_CONTENT_MEDIA_TAG_MODULE
462 * @brief Called for every tag in the obtained list of tags.
463 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
465 * @details Iterates over a list of tags.
467 * @remarks To use the @a tag outside this function, copy the handle with the media_tag_clone() function.
469 * @param[in] tag The handle to the media tag
470 * @param[in] user_data The user data passed from the foreach function
472 * @return @c true to continue with the next iteration of the loop,
473 * otherwise @c false to break out of the loop
475 * @pre media_tag_foreach_tag_from_db(), media_info_foreach_tag_from_db() will invoke this function.
477 * @see media_tag_clone()
478 * @see media_tag_foreach_tag_from_db()
479 * @see media_info_foreach_tag_from_db()
481 typedef bool (*media_tag_cb)(media_tag_h tag, void *user_data);
484 * @ingroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE
485 * @brief Called for every bookmark in the obtained list of bookmarks.
486 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
488 * @details Iterates over a bookmark list.
490 * @remarks To use the @a bookmark outside this function, copy the handle with the media_bookmark_clone() function.
492 * @param[in] bookmark The handle to the video bookmark
493 * @param[in] user_data The user data passed from the foreach function
495 * @return @c true to continue with the next iteration of the loop,
496 * otherwise @c false to break out of the loop
498 * @pre media_info_foreach_bookmark_from_db() will invoke this function.
500 * @see media_info_foreach_bookmark_from_db()
502 typedef bool (*media_bookmark_cb)(media_bookmark_h bookmark, void *user_data);
505 * @ingroup CAPI_CONTENT_MEDIA_ALBUM_MODULE
506 * @brief Called for every album in the obtained list of groups.
507 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
509 * @details Iterates over an album list.
511 * @remarks To use the @a album outside this function, copy the handle with the media_album_clone() function.
513 * @param[in] album The handle to the media album
514 * @param[in] user_data The user data passed from the foreach function
516 * @return @c true to continue with the next iteration of the loop,
517 * otherwise @c false to break out of the loop
519 * @pre media_album_foreach_album_from_db() will invoke this function.
521 * @see media_album_clone()
522 * @see media_album_foreach_album_from_db()
524 typedef bool (*media_album_cb)(media_album_h album, void *user_data);
527 * @ingroup CAPI_CONTENT_MEDIA_GROUP_MODULE
528 * @brief Called for every group in the obtained list of groups.
529 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
531 * @details Iterates over a media group list.
533 * @remarks You should not free @a group_name returned by this function.
535 * @param[in] group_name The name of the media group
536 * @param[in] user_data The user data passed from the foreach function
538 * @return @c true to continue with the next iteration of the loop,
539 * otherwise @c false to break out of the loop
541 * @pre media_group_foreach_group_from_db() will invoke this function.
543 * @see media_group_foreach_group_from_db()
545 typedef bool (*media_group_cb)(const char *group_name, void *user_data);
548 * @ingroup CAPI_CONTENT_MEDIA_STORAGE_MODULE
549 * @brief Called for every storage in the obtained list of storages.
552 * @details Iterates over a media storage list.
554 * @remarks You should not destroy @a storage returned by this function.
556 * @param[in] storage The handle of the media storage
557 * @param[in] user_data The user data passed from the foreach function
559 * @return @c true to continue with the next iteration of the loop,
560 * otherwise @c false to break out of the loop
562 * @pre media_storage_foreach_storage_from_db() will invoke this function.
564 * @see media_storage_foreach_storage_from_db()
566 typedef bool (*media_storage_cb)(media_storage_h storage, void *user_data);
573 * @addtogroup CAPI_CONTENT_MEDIA_FILTER_MODULE
578 * @brief You can use above define to set the condition of media filter and order keyword.
579 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
582 #define MEDIA_ID "MEDIA_ID" /**< Media ID */
585 * @brief You can use above define to set the condition of media filter and order keyword.
586 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
589 #define MEDIA_PATH "MEDIA_PATH" /**< Media full path */
592 * @brief You can use above define to set the condition of media filter and order keyword.
593 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
596 #define MEDIA_DISPLAY_NAME "MEDIA_DISPLAY_NAME" /**< Media base name */
599 * @brief You can use above define to set the condition of media filter and order keyword.
600 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
603 #define MEDIA_TYPE "MEDIA_TYPE" /**< Media type: 0-image, 1-video, 2-sound, 3-music, 4-other*/
606 * @brief You can use above define to set the condition of media filter and order keyword.
607 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
610 #define MEDIA_MIME_TYPE "MEDIA_MIME_TYPE" /**< Media MIME type */
614 * @brief You can use above define to set the condition of media filter and order keyword.
615 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
618 #define MEDIA_SIZE "MEDIA_SIZE" /**< Media MIME size */
621 * @brief You can use above define to set the condition of media filter and order keyword.
622 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
625 #define MEDIA_ADDED_TIME "MEDIA_ADDED_TIME" /**< Media added time */
628 * @brief You can use above define to set the condition of media filter and order keyword.
629 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
632 #define MEDIA_MODIFIED_TIME "MEDIA_MODIFIED_TIME" /**< Media modified time */
635 * @brief You can use above define to set the condition of media filter and order keyword.
636 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
639 #define MEDIA_TIMELINE "MEDIA_TIMELINE" /**< Media modified time */
642 * @brief You can use above define to set the condition of media filter and order keyword.
643 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
646 #define MEDIA_THUMBNAIL_PATH "MEDIA_THUMBNAIL_PATH" /**< Media thumbnail path */
649 * @brief You can use above define to set the condition of media filter and order keyword.
650 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
653 #define MEDIA_TITLE "MEDIA_TITLE" /**< Media title get from tag or file name */
656 * @brief You can use above define to set the condition of media filter and order keyword.
657 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
660 #define MEDIA_ALBUM "MEDIA_ALBUM" /**< Media album name*/
663 * @brief You can use above define to set the condition of media filter and order keyword.
664 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
667 #define MEDIA_ARTIST "MEDIA_ARTIST" /**< Media artist*/
670 * @brief You can use above define to set the condition of media filter and order keyword.
671 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
674 #define MEDIA_ALBUM_ARTIST "MEDIA_ALBUM_ARTIST" /**< Media album_artist*/
677 * @brief You can use above define to set the condition of media filter and order keyword.
678 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
681 #define MEDIA_GENRE "MEDIA_GENRE" /**< Media genre*/
684 * @brief You can use above define to set the condition of media filter and order keyword.
685 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
688 #define MEDIA_COMPOSER "MEDIA_COMPOSER" /**< Media composer*/
691 * @brief You can use above define to set the condition of media filter and order keyword.
692 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
695 #define MEDIA_YEAR "MEDIA_YEAR" /**< Media year*/
698 * @brief You can use above define to set the condition of media filter and order keyword.
699 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
702 #define MEDIA_RECORDED_DATE "MEDIA_RECORDED_DATE" /**< Media recorded date*/
705 * @brief You can use above define to set the condition of media filter and order keyword.
706 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
709 #define MEDIA_COPYRIGHT "MEDIA_COPYRIGHT" /**< Media copyright*/
712 * @brief You can use above define to set the condition of media filter and order keyword.
713 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
716 #define MEDIA_TRACK_NUM "MEDIA_TRACK_NUM" /**< Media track number*/
719 * @brief You can use above define to set the condition of media filter and order keyword.
720 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
723 #define MEDIA_DESCRIPTION "MEDIA_DESCRIPTION" /**< Media description*/
726 * @brief You can use above define to set the condition of media filter and order keyword.
727 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
730 #define MEDIA_BITRATE "MEDIA_BITRATE" /**< Media bitrate*/
733 * @brief You can use above define to set the condition of media filter and order keyword.
734 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
737 #define MEDIA_BITPERSAMPLE "MEDIA_BITPERSAMPLE" /**< Media bit per sample*/
740 * @brief You can use above define to set the condition of media filter and order keyword.
741 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
744 #define MEDIA_SAMPLERATE "MEDIA_SAMPLERATE" /**< Media sample rate*/
747 * @brief You can use above define to set the condition of media filter and order keyword.
748 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
751 #define MEDIA_CHANNEL "MEDIA_CHANNEL" /**< Media channel*/
754 * @brief You can use above define to set the condition of media filter and order keyword.
755 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
758 #define MEDIA_DURATION "MEDIA_DURATION" /**< Media duration */
761 * @brief You can use above define to set the condition of media filter and order keyword.
762 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
765 #define MEDIA_LONGITUDE "MEDIA_LONGITUDE" /**< Media longitude */
768 * @brief You can use above define to set the condition of media filter and order keyword.
769 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
772 #define MEDIA_LATITUDE "MEDIA_LATITUDE" /**< Media latitude */
775 * @brief You can use above define to set the condition of media filter and order keyword.
776 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
779 #define MEDIA_ALTITUDE "MEDIA_ALTITUDE" /**< Media altitude */
782 * @brief You can use above define to set the condition of media filter and order keyword.
783 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
786 #define MEDIA_WIDTH "MEDIA_WIDTH" /**< Media width*/
789 * @brief You can use above define to set the condition of media filter and order keyword.
790 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
793 #define MEDIA_HEIGHT "MEDIA_HEIGHT" /**< Media height*/
796 * @brief You can use above define to set the condition of media filter and order keyword.
797 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
800 #define MEDIA_DATETAKEN "MEDIA_DATETAKEN" /**< Media datetaken*/
803 * @brief You can use above define to set the condition of media filter and order keyword.
804 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
807 #define MEDIA_ORIENTATION "MEDIA_ORIENTATION" /**< Media orientation*/
810 * @brief You can use above define to set the condition of media filter and order keyword.
811 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
814 #define MEDIA_BURST_ID "BURST_ID" /**< Media burst ID*/
817 * @brief You can use above define to set the condition of media filter and order keyword.
818 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
821 #define MEDIA_PLAYED_COUNT "MEDIA_PLAYED_COUNT" /**< Media playedcount*/
824 * @brief You can use above define to set the condition of media filter and order keyword.
825 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
828 #define MEDIA_LAST_PLAYED_TIME "MEDIA_LAST_PLAYED_TIME" /**< Media last played time*/
831 * @brief You can use above define to set the condition of media filter and order keyword.
832 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
835 #define MEDIA_LAST_PLAYED_POSITION "MEDIA_LAST_PLAYED_POSITION" /**< Media last played position of file*/
838 * @brief You can use above define to set the condition of media filter and order keyword.
839 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
842 #define MEDIA_RATING "MEDIA_RATING" /**< Media rating*/
845 * @brief You can use above define to set the condition of media filter and order keyword.
846 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
849 #define MEDIA_FAVOURITE "MEDIA_FAVOURITE" /**< 0-not favourite, 1-favourite*/
852 * @brief You can use above define to set the condition of media filter and order keyword.
853 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
856 #define MEDIA_AUTHOR "MEDIA_AUTHOR" /**< Media authore*/
859 * @brief You can use above define to set the condition of media filter and order keyword.
860 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
863 #define MEDIA_PROVIDER "MEDIA_PROVIDER" /**< Media provider*/
866 * @brief You can use above define to set the condition of media filter and order keyword.
867 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
870 #define MEDIA_CONTENT_NAME "MEDIA_CONTENT_NAME" /**< Media content name*/
873 * @brief You can use above define to set the condition of media filter and order keyword.
874 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
877 #define MEDIA_CATEGORY "MEDIA_CATEGORY" /**< Media category*/
880 * @brief You can use above define to set the condition of media filter and order keyword.
881 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
884 #define MEDIA_LOCATION_TAG "MEDIA_LOCATION_TAG" /**< Media location tag*/
887 * @brief You can use above define to set the condition of media filter and order keyword.
888 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
891 #define MEDIA_AGE_RATING "MEDIA_AGE_RATING" /**< Media age rating*/
894 * @brief You can use above define to set the condition of media filter and order keyword.
895 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
898 #define MEDIA_KEYWORD "MEDIA_KEYWORD" /**< Media keyword*/
901 * @brief You can use above define to set the condition of media filter and order keyword.
902 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
905 #define MEDIA_WEATHER "MEDIA_WEATHER" /**< Media weather*/
908 * @brief You can use above define to set the condition of media filter and order keyword.
909 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
912 #define MEDIA_IS_DRM "MEDIA_IS_DRM" /**< Is DRM. 0-not drm, 1-drm*/
915 * @brief You can use above define to set the condition of media filter and order keyword.
916 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
919 #define MEDIA_STORAGE_TYPE "MEDIA_STORAGE_TYPE" /**< Media storage. 0-internal storage, 1-external storage*/
922 * @brief You can use above define to set the condition of media filter and order keyword.
926 #define MEDIA_EXPOSURE_TIME "MEDIA_EXPOSURE_TIME" /**< media exposure_time*/
929 * @brief You can use above define to set the condition of media filter and order keyword.
933 #define MEDIA_FNUMBER "MEDIA_FNUMBER" /**< media fnumber*/
936 * @brief You can use above define to set the condition of media filter and order keyword.
940 #define MEDIA_ISO "MEDIA_ISO" /**< media iso*/
943 * @brief You can use above define to set the condition of media filter and order keyword.
947 #define MEDIA_MODEL "MEDIA_MODEL" /**< media model*/
950 * @brief You can use above define to set the condition of media filter and order keyword.
951 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
954 #define MEDIA_FILE_NAME_PINYIN "MEDIA_FILE_NAME_PINYIN" /**< Media file name pinyin */
957 * @brief You can use above define to set the condition of media filter and order keyword.
958 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
961 #define MEDIA_TITLE_PINYIN "MEDIA_TITLE_PINYIN" /**< Media title pinyin */
964 * @brief You can use above define to set the condition of media filter and order keyword.
965 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
968 #define MEDIA_ALBUM_PINYIN "MEDIA_ALBUM_PINYIN" /**< Media album pinyin*/
971 * @brief You can use above define to set the condition of media filter and order keyword.
972 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
975 #define MEDIA_ARTIST_PINYIN "MEDIA_ARTIST_PINYIN" /**< Media artist pinyin*/
978 * @brief You can use above define to set the condition of media filter and order keyword.
979 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
982 #define MEDIA_ALBUM_ARTIST_PINYIN "MEDIA_ALBUM_ARTIST_PINYIN" /**< Media album_artist pinyin*/
985 * @brief You can use above define to set the condition of media filter and order keyword.
986 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
989 #define MEDIA_GENRE_PINYIN "MEDIA_GENRE_PINYIN" /**< Media genre pinyin*/
992 * @brief You can use above define to set the condition of media filter and order keyword.
993 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
996 #define MEDIA_COMPOSER_PINYIN "MEDIA_COMPOSER_PINYIN" /**< Media composer pinyin*/
999 * @brief You can use above define to set the condition of media filter and order keyword.
1000 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1003 #define MEDIA_COPYRIGHT_PINYIN "MEDIA_COPYRIGHT_PINYIN" /**< Media copyright pinyin*/
1006 * @brief You can use above define to set the condition of media filter and order keyword.
1007 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1010 #define MEDIA_DESCRIPTION_PINYIN "MEDIA_DESCRIPTION_PINYIN" /**< Media description pinyin*/
1013 * @brief You can use above define to set the condition of media filter and order keyword.
1014 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1017 #define MEDIA_AUTHOR_PINYIN "MEDIA_AUTHOR_PINYIN" /**< Media authore pinyin*/
1020 * @brief You can use above define to set the condition of media filter and order keyword.
1021 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1024 #define MEDIA_PROVIDER_PINYIN "MEDIA_PROVIDER_PINYIN" /**< Media provider pinyin*/
1027 * @brief You can use above define to set the condition of media filter and order keyword.
1028 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1031 #define MEDIA_CONTENT_NAME_PINYIN "MEDIA_CONTENT_NAME_PINYIN" /**< Media content name pinyin*/
1034 * @brief You can use above define to set the condition of media filter and order keyword.
1035 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1038 #define MEDIA_CATEGORY_PINYIN "MEDIA_CATEGORY_PINYIN" /**< Media category pinyin*/
1041 * @brief You can use above define to set the condition of media filter and order keyword.
1042 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1045 #define MEDIA_LOCATION_TAG_PINYIN "MEDIA_LOCATION_TAG_PINYIN" /**< Media location tag pinyin*/
1048 * @brief You can use above define to set the condition of media filter and order keyword.
1049 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1052 #define MEDIA_AGE_RATING_PINYIN "MEDIA_AGE_RATING_PINYIN" /**< Media age rating pinyin*/
1055 * @brief You can use above define to set the condition of media filter and order keyword.
1056 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1059 #define MEDIA_KEYWORD_PINYIN "MEDIA_KEYWORD_PINYIN" /**< Media keyword pinyin*/
1067 * @addtogroup CAPI_CONTENT_MEDIA_FOLDER_MODULE
1072 * @brief You can use above define to set the condition of folder filter and order keyword.
1073 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1075 #define FOLDER_ID "FOLDER_ID" /**< Folder ID */
1078 * @brief You can use above define to set the condition of folder filter and order keyword.
1079 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1081 #define FOLDER_PATH "FOLDER_PATH" /**< Folder full path */
1084 * @brief You can use above define to set the condition of folder filter and order keyword.
1085 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1087 #define FOLDER_NAME "FOLDER_NAME" /**< Folder base name */
1090 * @brief You can use above define to set the condition of folder filter and order keyword.
1091 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1093 #define FOLDER_MODIFIED_TIME "FOLDER_MODIFIED_TIME" /**< Folder modified time */
1096 * @brief You can use above define to set the condition of folder filter and order keyword.
1097 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1099 #define FOLDER_STORAGE_TYPE "FOLDER_STORAGE_TYPE" /**< Folder storage. 0-internal storage, 1-external storage*/
1102 * @brief You can use above define to set the condition of folder filter and order keyword.
1103 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1105 #define FOLDER_NAME_PINYIN "FOLDER_NAME_PINYIN" /**< Folder base name pinyin*/
1108 * @brief You can use above define to set the condition of folder filter and order keyword.
1111 #define FOLDER_ORDER "FOLDER_ORDER" /**< Folder order info */
1114 * @brief You can use above define to set the condition of folder filter and order keyword.
1117 #define FOLDER_PARENT_FOLDER_ID "FOLDER_PARENT_FOLDER_ID" /**< parent folder id */
1124 * @addtogroup CAPI_CONTENT_MEDIA_PLAYLIST_MODULE
1126 * @brief You can use above define to set the condition of playlist filter and order keyword.
1127 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1129 #define PLAYLIST_NAME "PLAYLIST_NAME" /**< Playlist name */
1132 * @brief You can use above define to set the condition of playlist filter and order keyword.
1133 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1135 #define PLAYLIST_MEMBER_ORDER "PLAYLIST_MEMBER_ORDER" /**< Playlist name */
1138 * @brief You can use above define to set the condition of playlist filter and order keyword.
1139 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1141 #define PLAYLIST_MEDIA_COUNT "PLAYLIST_MEDIA_COUNT" /**< Media count in playlist view */
1148 * @addtogroup CAPI_CONTENT_MEDIA_TAG_MODULE
1150 * @brief You can use above define to set the condition of tag filter and order keyword.
1151 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1153 #define TAG_NAME "TAG_NAME" /**< Tag name */
1156 * @brief You can use above define to set the condition of tag filter and order keyword.
1157 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1159 #define TAG_MEDIA_COUNT "TAG_MEDIA_COUNT" /**< Media count in tag view */
1166 * @addtogroup CAPI_CONTENT_MEDIA_BOOKMARK_MODULE
1168 * @brief You can use above define to set the condition of bookmark filter and order keyword.
1169 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1171 #define BOOKMARK_MARKED_TIME "BOOKMARK_MARKED_TIME" /**< Bookmark marked time */
1178 * @addtogroup CAPI_CONTENT_MEDIA_STORAGE_MODULE
1180 * @brief You can use above define to set the condition of storage filter and order keyword.
1183 #define MEDIA_STORAGE_ID "STORAGE_ID" /**< Storage ID */
1186 * @brief You can use above define to set the condition of storage filter and order keyword.
1189 #define MEDIA_STORAGE_PATH "STORAGE_PATH" /**< Storage path */
1198 #endif /* __cplusplus */
1201 #endif /*__TIZEN_MEDIA_CONTENT_TYPE_H__*/