[ACR-1635] Support ebook format
[platform/core/api/media-content.git] / include / media_content.h
index 76c52a7..fd08487 100755 (executable)
 * limitations under the License.
 */
 
-#ifndef __TIZEN_MEDIA_CONTENT_H__
-#define __TIZEN_MEDIA_CONTENT_H__
+#ifndef __TIZEN_CONTENT_MEDIA_CONTENT_H__
+#define __TIZEN_CONTENT_MEDIA_CONTENT_H__
 
 #include <media_audio.h>
-#include <media_content_type.h>
 #include <media_filter.h>
 #include <media_folder.h>
 #include <media_image.h>
@@ -30,6 +29,7 @@
 #include <media_bookmark.h>
 #include <media_storage.h>
 #include <media_face.h>
+#include <media_book.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -90,7 +90,7 @@ int media_content_disconnect(void);
  * @details This function requests to scan a media file to the media server.
  *          If media file is not registered to DB yet, that media file information will be added to the media DB. If it is already registered to the DB, then this tries to refresh information. \n
  *          If requested file does not exist on file system, information of the media file will be removed from the media DB. \n
- *          If file information does not exist in DB, this API will be return #MEDIA_CONTENT_ERROR_INVALID_PARAMETER.
+ *          If file information does not exist in DB, this function will be return #MEDIA_CONTENT_ERROR_INVALID_PARAMETER.
  *
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
@@ -99,10 +99,14 @@ int media_content_disconnect(void);
  *                   %http://tizen.org/privilege/mediastorage \n
  *                   %http://tizen.org/privilege/externalstorage
  *
- * @remarks You must add privilege http://tizen.org/privilege/content.write. And You add more privilege depending on your choice of contents path. \n
- *                   If you want to access only internal storage by using  this API, you should add privilege http://tizen.org/privilege/mediastorage. \n
- *                   Or if you want to access only external storage by using  this API, you should add privilege http://tizen.org/privilege/externalstorage. \n
- *                   If you can access both storage, you must add all privilege.
+ * @remarks You must add privilege %http://tizen.org/privilege/content.write. And You add more privilege depending on your choice of contents path. \n
+ *                   If you want to access only internal storage by using this function, you should add privilege %http://tizen.org/privilege/mediastorage. \n
+ *                   Or if you want to access only external storage by using this function, you should add privilege %http://tizen.org/privilege/externalstorage. \n
+ *                   If you can access both storage, you must add all privilege. \n
+ *                   Since 4.0, This function does not allow a symbolic link.\n
+ * @remarks Since 4.0, this function is related to the following feature:\n
+ *              %http://tizen.org/feature/content.scanning.others\n
+ *              If this feature is not supported on the device, MEDIA_CONTENT_TYPE_OTHERS type file is not scanned.
  *
  * @param[in] path The file path
  *
@@ -115,6 +119,7 @@ int media_content_disconnect(void);
  * @retval #MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
  * @retval #MEDIA_CONTENT_ERROR_DB_FAILED    DB Operation failed
  * @retval #MEDIA_CONTENT_ERROR_DB_BUSY    DB Operation busy
+ * @retval #MEDIA_CONTENT_ERROR_NOT_SUPPORTED     Not supported
  *
  * @pre This function requires opened connection to content service by media_content_connect().
  * @see media_content_connect()
@@ -132,7 +137,7 @@ int media_content_scan_file(const char *path);
  *          After moving or renaming a folder in the filesystem, call this function on its source location
  *          (this will remove an entry from the database) and call this function again on its destination location
  *          (this will add a new entry to the database).\n
- *          Alternatively, you can call this API on any parent of source location and on any parent of destination location.\n
+ *          Alternatively, you can call this function on any parent of source location and on any parent of destination location.\n
  *          You can also call the function once, on a folder which is a parent of both source and destination.\n
  *
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
@@ -142,16 +147,17 @@ int media_content_scan_file(const char *path);
  *                   %http://tizen.org/privilege/mediastorage \n
  *                   %http://tizen.org/privilege/externalstorage
  *
- * @remarks You must add privilege http://tizen.org/privilege/content.write. And You add more privilege depending on your choice of contents path. \n
- *                   If you want to access only internal storage by using  this API, you should add privilege http://tizen.org/privilege/mediastorage. \n
- *                   Or if you want to access only external storage by using  this API, you should add privilege http://tizen.org/privilege/externalstorage. \n
- *                   If you can access both storage, you must add all privilege.
+ * @remarks You must add privilege %http://tizen.org/privilege/content.write. And You add more privilege depending on your choice of contents path. \n
+ *                   If you want to access only internal storage by using this function, you should add privilege %http://tizen.org/privilege/mediastorage. \n
+ *                   Or if you want to access only external storage by using this function, you should add privilege %http://tizen.org/privilege/externalstorage. \n
+ *                   If you can access both storage, you must add all privilege. \n
+ *                   Since 4.0, This function does not allow a symbolic link.
  *
- * @param[in] path         The folder path
+ * @param[in] path The folder path
  * @param[in] is_recursive Set @c true to scan recursively subdirectories,
  *                         otherwise @c false to scan only the current directory
- * @param[in] callback     The callback to be invoked when the scanning is finished
- * @param[in] user_data    The user data to be passed to the callback function
+ * @param[in] callback The callback to be invoked when the scanning is finished
+ * @param[in] user_data The user data to be passed to the callback function
  *
  * @return @c 0 on success,
  *         otherwise a negative error value
@@ -163,6 +169,7 @@ int media_content_scan_file(const char *path);
  * @retval #MEDIA_CONTENT_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #MEDIA_CONTENT_ERROR_DB_FAILED    DB Operation failed
  * @retval #MEDIA_CONTENT_ERROR_DB_BUSY    DB Operation busy
+ * @retval #MEDIA_CONTENT_ERROR_NETWORK   Network fail
  *
  * @pre This function requires opened connection to content service by media_content_connect().
  * @see media_scan_completed_cb()
@@ -174,7 +181,7 @@ int media_content_scan_folder(const char *path, bool is_recursive, media_scan_co
  * @brief Requests to cancel the media folder scanning.
  * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  *
- * @param[in] path         The folder path
+ * @param[in] path The folder path
  *
  * @return @c 0 on success,
  *         otherwise a negative error value
@@ -188,60 +195,17 @@ int media_content_scan_folder(const char *path, bool is_recursive, media_scan_co
 int media_content_cancel_scan_folder(const char *path);
 
 /**
- * @deprecated Deprecated since 3.0. Use media_content_add_db_updated_cb() instead.
- * @brief Subscribes notifications of the media DB change.
- * @details This function subscribes notifications of the media DB change which are published by the media server or other apps.
- *          media_content_db_update_cb() function will be called when notification of the media DB change is subscribed.
- *
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @param[in] callback  The callback to be invoked when the scanning is finished
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- *
- * @retval #MEDIA_CONTENT_ERROR_NONE Successful
- * @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTENT_ERROR_INVALID_OPERATION Invalid operation
- * @retval #MEDIA_CONTENT_ERROR_OUT_OF_MEMORY     Out of memory
- *
- * @see media_content_db_update_cb()
- * @see media_content_unset_db_updated_cb()
- */
-int media_content_set_db_updated_cb(media_content_db_update_cb callback, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 3.0. Use media_content_remove_db_updated_cb() instead.
- * @brief Unsubscribes notifications of the media DB change.
- * @details This function unsubscribes notifications of the media DB change which are published by the media server or other apps.
- *
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- *
- * @retval #MEDIA_CONTENT_ERROR_NONE Successful
- *
- * @pre media_content_set_db_updated_cb()
- *
- * @see media_content_set_db_updated_cb()
- */
-int media_content_unset_db_updated_cb(void) TIZEN_DEPRECATED_API;
-
-/**
  * @brief Subscribes notifications of the media DB change.
  * @details This function subscribes notifications of the media DB change which are published by the media server or other apps. \n
  *          media_content_db_update_cb() function will be called when notification of the media DB change is subscribed. \n
- *          Using this API, multiple callback is possible to register in one process.
+ *          Using this function, multiple callback is possible to register in one process.
  *
  * @since_tizen 3.0
  *
- * @remarks  To release the registered callback, you must use media_content_remove_db_updated_cb() API. \n
- *                    media_content_unset_db_updated_cb() API can not release the callbacks added by this API. \n
- *                    If you set the same callback that you previously added, this API returns MEDIA_CONTENT_ERROR_INVALID_OPERATION error. \n
+ * @remarks The @a noti_handle should be released using media_content_remove_db_updated_cb(). \n
+ *           If you set the same callback that you previously added, this function returns MEDIA_CONTENT_ERROR_INVALID_OPERATION error. \n
  *
- * @param[in] callback  The callback to be invoked when the scanning is finished
+ * @param[in] callback The callback to be invoked when the scanning is finished
  * @param[in] user_data The user data to be passed to the callback function
  * @param[out] noti_handle The handle to db updated notification
  *
@@ -258,9 +222,8 @@ int media_content_unset_db_updated_cb(void) TIZEN_DEPRECATED_API;
  */
 int media_content_add_db_updated_cb(media_content_db_update_cb callback, void *user_data, media_content_noti_h *noti_handle);
 
-
 /**
- * @brief Unsubscribes notifications of the media DB change.
+ * @brief Removes notifications of the media DB change.
  * @details This function unsubscribes notifications of the media DB change which are published by the media server or other apps.
  *
  * @since_tizen 3.0
@@ -287,4 +250,4 @@ int media_content_remove_db_updated_cb(media_content_noti_h noti_handle);
 }
 #endif /* __cplusplus */
 
-#endif /* __TIZEN_MEDIA_CONTENT_H__ */
+#endif /* __TIZEN_CONTENT_MEDIA_CONTENT_H__ */