Remove profile tag
[platform/core/api/media-content.git] / include_product / media_content_product.h
index ff2cf56..2e1e2c6 100755 (executable)
@@ -32,6 +32,8 @@ int media_content_scan_folder_v2(const char *path, bool is_recursive, media_scan
 
 /********** media_info **********/
 
+int media_info_delete_from_db(const char *media_id);
+
 /**
  * @brief Gets the extract_flag of media info.
  * @since_tizen 2.3
@@ -148,28 +150,15 @@ int media_info_set_played_time(media_info_h media);
 
 
 int media_info_get_media_info_by_path_from_db(const char* path, media_info_h* media);
-#ifdef _USE_SENIOR_MODE
-int media_info_insert_to_db_with_contact_data(const char *path, const char* contact, const char* app_data, media_info_h *info);
-int media_info_delete_contact_from_db(const char* contact, const char* storage_id);
-int media_info_delete_item(const char *media_id);
-int media_info_get_contact(media_info_h media, char **contact);
-int media_info_get_app_data(media_info_h media, char **app_data);
-int media_info_set_contact(media_info_h media, const char *contact);
-int media_info_set_app_data(media_info_h media, const char *app_data);
-#endif
 
 
 /********** media_folder **********/
-
-#ifdef _USE_SENIOR_MODE
-int media_folder_foreach_media_from_db_by_union_select(const char* folder_id, filter_h filter1, filter_h filter2, media_info_cb callback, void* user_data);
-#endif
 int media_folder_get_scan_status(const char *storage_uuid, char* path, media_folder_scan_status_e *scan_status);
 int media_folder_reset_scan_status(const char *storage_uuid, const char* path);
 
 /**
  * @brief Sets the folder name.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
  *
  * @param[in] folder The handle to the media folder
  * @param[in] name The name of the media folder
@@ -190,7 +179,7 @@ int media_folder_set_name(media_folder_h folder, const char *name);
  * @details The function updates the given media folder in the media database. The function should be called after any change in folder attributes, to be updated to the media
  *          database.
  *
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @since_tizen 2.3
  *
  * @privlevel public
  * @privilege %http://tizen.org/privilege/content.write
@@ -271,7 +260,120 @@ int media_group_foreach_group_and_count_from_db(filter_h filter, media_group_e g
  */
 int media_storage_get_scan_status(const char *storage_uuid, media_storage_scan_status_e *scan_status);
 
+/**
+ * @brief Iterates through media storage from the media database.
+ * @details This function gets all media storage handles meeting the given @a filter.
+ *          The @a callback function will be invoked for every retrieved media storage.
+ *          If @c NULL is passed to the @a filter, then no filtering is applied.
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] filter The handle to the media filter
+ * @param[in] callback The callback function to be invoked
+ * @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_OUT_OF_MEMORY     Out of memory
+ * @retval #MEDIA_CONTENT_ERROR_DB_FAILED         DB Operation failed
+ * @retval #MEDIA_CONTENT_ERROR_DB_BUSY           DB Operation busy
+ *
+ * @pre  This function requires opened connection to content service by media_content_connect().
+ * @post This function invokes media_storage_destroy().
+ *
+ * @see media_content_connect()
+ * @see media_storage_destroy()
+ */
+int media_storage_foreach_storage_from_db(filter_h filter, media_storage_cb callback, void *user_data);
+
+/**
+ * @brief Destroys media storage handle.
+ * @details The function frees all resources related to the media storage handle. This handle
+ *          can no longer be used to perform any operations. New media storage handle has to
+ *          be created before the next usage.
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] storage The media storage handle
+ *
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ *
+ * @retval #MEDIA_CONTENT_ERROR_NONE              Successful
+ * @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre Get copy of media_storage_h handle by calling media_storage_clone().
+ *
+ * @see media_storage_clone()
+ */
+int media_storage_destroy(media_storage_h storage);
+
+/**
+ * @brief Clones the media storage handle.
+ *
+ * @details This function copies the media storage handle from a source to the destination.
+ *          There is no media_storage_create() function. The media_storage_h is created internally and
+ *          available through media storage foreach function such as media_storage_foreach_storage_from_db().
+ *          To use this handle outside of these foreach functions, use this function.
+ *
+ * @since_tizen 2.4
+ *
+ * @remarks The @a dst should be released using media_storage_destroy().
+ *
+ * @param[out] dst The destination handle to the media storage
+ * @param[in] src The source handle to the media storage
+ *
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ *
+ * @retval #MEDIA_CONTENT_ERROR_NONE              Successful
+ * @retval #MEDIA_CONTENT_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @see media_storage_destroy()
+ * @see media_storage_foreach_storage_from_db()
+ * @see media_storage_get_storage_info_from_db()
+ */
+int media_storage_clone(media_storage_h *dst, media_storage_h src);
+
+/**
+ * @brief Gets the storage id of media storage.
+ * @since_tizen 2.4
+ *
+ * @remarks The @a storage_id should be released using free().
+ *
+ * @param[in] storage The media storage handle
+ * @param[out] storage_id The ID of the media storage
+ *
+ * @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_OUT_OF_MEMORY     Out of memory
+ */
+int media_storage_get_id(media_storage_h storage, char **storage_id);
 
+/**
+ * @brief Gets the storage path of media storage.
+ * @since_tizen 2.4
+ *
+ * @remarks The @a storage_path should be released using free().
+ *
+ * @param[in] storage The media storage handle
+ * @param[out] storage_path The storage path of the media storage
+ *
+ * @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_OUT_OF_MEMORY     Out of memory
+ */
+int media_storage_get_path(media_storage_h storage, char **storage_path);
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */