Add api for resource package
[platform/core/api/package-manager.git] / include / package_manager.h
index cf99da4..bcb0b21 100644 (file)
@@ -72,6 +72,13 @@ extern "C" {
 
 
 /**
+ * @brief Definition for value to be used when filtering based on resource type: String property for filtering packages with specific resource types.
+ * @since_tizen 6.5
+ */
+#define PACKAGE_MANAGER_PKGINFO_RES_TYPE               "PMINFO_PKGINFO_PROP_PACKAGE_RES_TYPE"
+
+
+/**
  * @brief Enumeration for error code.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
@@ -208,10 +215,10 @@ typedef void (*package_manager_event_cb) (const char *type, const char *package,
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          Internal I/O error
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @see package_manager_destroy()
  */
 int package_manager_create(package_manager_h *manager);
@@ -234,8 +241,8 @@ int package_manager_destroy(package_manager_h manager);
  * @brief Sets the event status of the package when the package is installed, uninstalled, or updated.
  * @details You can combine multiple status using OR operation which you want to listen.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param [in] manager     The package manager handle
- * @param [in] status_type The status of the package
+ * @param[in] manager     The package manager handle
+ * @param[in] status_type The status of the package
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
@@ -258,8 +265,8 @@ int package_manager_set_event_status(package_manager_h manager, int status_type)
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @post package_manager_event_cb() will be invoked.
  * @see package_manager_set_event_status()
  * @see package_manager_event_cb()
@@ -304,8 +311,8 @@ typedef bool (*package_manager_package_info_cb) (package_info_h package_info, vo
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @post This function invokes package_manager_package_info_cb() repeatedly for each package information.
  * @see package_manager_package_info_cb()
  */
@@ -317,14 +324,15 @@ int package_manager_foreach_package_info(package_manager_package_info_cb callbac
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/packagemanager.info
+ * @remarks The @a package_id should be released using free().
  * @param[in]  app_id     The ID of the application
  * @param[out] package_id The ID of the package
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  */
 int package_manager_get_package_id_by_app_id(const char *app_id, char **package_id);
 
@@ -340,10 +348,10 @@ int package_manager_get_package_id_by_app_id(const char *app_id, char **package_
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR Database error occurred
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  */
 int package_manager_get_package_info(const char *package_id, package_info_h *package_info);
 
@@ -392,10 +400,10 @@ int package_manager_compare_app_cert_info(const char *lhs_app_id, const char *rh
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  */
 int package_manager_is_preload_package_by_app_id(const char *app_id, bool *preload);
 
@@ -410,10 +418,10 @@ int package_manager_is_preload_package_by_app_id(const char *app_id, bool *prelo
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  */
 int package_manager_get_permission_type(const char *app_id, package_manager_permission_type_e *permission_type);
 
@@ -428,9 +436,9 @@ int package_manager_get_permission_type(const char *app_id, package_manager_perm
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE   No such package
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
  * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR      Severe system error
@@ -447,8 +455,8 @@ int package_manager_clear_cache_dir(const char *package_id);
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE   No such package
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE   No such package
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
  * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR      Severe system error
@@ -466,9 +474,9 @@ int package_manager_clear_all_cache_dir(void);
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE   No such package
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
  * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR      Severe system error
@@ -515,9 +523,9 @@ typedef void (*package_manager_total_size_info_receive_cb)(const package_size_in
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE   No such package
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
  * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR      Severe system error
@@ -532,13 +540,13 @@ int package_manager_get_package_size_info(const char *package_id, package_manage
  * @privlevel public
  * @privilege %http://tizen.org/privilege/packagemanager.info
  * @param[in] callback  The asynchronous callback function to get the total package size information
- * @param[in] user_data        The user data to be passed to the callback function
+ * @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 #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE   No such package
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
  * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR      Severe system error
@@ -552,6 +560,7 @@ int package_manager_get_total_package_size_info(package_manager_total_size_info_
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/packagemanager.info
+ * @remarks The @a handle should be released using package_manager_filter_destroy().
  * @param[out] handle Pointer to the package info filter handle
  * @return @c 0 on success,
  *         otherwise a negative error value
@@ -560,13 +569,13 @@ int package_manager_get_total_package_size_info(package_manager_total_size_info_
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR I/O error
  * @post package_manager_filter_destroy()
  * @see package_manager_filter_add_bool()
- * @see package_manager_filter_foreach_pkginfo()
+ * @see package_manager_filter_foreach_package_info()
  */
 int package_manager_filter_create(package_manager_filter_h *handle);
 
 
 /**
- * @brief This API destroys the package information filter handle freeing up all the resources
+ * @brief Destroys the package information filter handle freeing up all the resources.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] handle Pointer to the package info filter handle
  * @return @c 0 on success,
@@ -582,7 +591,7 @@ int package_manager_filter_destroy(package_manager_filter_h handle);
 
 
 /**
- * @brief This API adds a boolean filter property to the filter handle
+ * @brief Adds a boolean filter property to the filter handle.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] handle Pointer to the package info filter handle
  * @param[in] property boolean property name
@@ -601,7 +610,26 @@ int package_manager_filter_add_bool(package_manager_filter_h handle, const char
 
 
 /**
- * @brief This API counts the package that satisfy the filter conditions
+ * @brief Adds a string filter property to the filter handle.
+ * @since_tizen 6.5
+ * @param[in] handle pointer to the package info filter handle
+ * @param[in] property string property name
+ * @param[in] value value corresponding to the property
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR I/O error
+ * @pre package_manager_filter_create()
+ * @post package_manager_filter_destroy()
+ * @see package_manager_filter_count()
+ * @see package_manager_filter_foreach_package_info()
+ */
+int package_manager_filter_add_string(package_manager_filter_h handle, const char *property, const char *value);
+
+
+/**
+ * @brief Counts the package that satisfy the filter conditions.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/packagemanager.info
@@ -620,7 +648,7 @@ int package_manager_filter_count(package_manager_filter_h handle, int *count);
 
 
 /**
- * @brief This API executes the user supplied callback function for each package that satisfy the filter conditions
+ * @brief Executes the user supplied callback function for each package that satisfy the filter conditions.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/packagemanager.info
@@ -654,11 +682,11 @@ int package_manager_filter_foreach_package_info(package_manager_filter_h handle,
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR Internal I/O error
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
- * @post package_manager_drm_register_license
+ * @post package_manager_drm_register_license()
  */
 int package_manager_drm_generate_license_request(const char *resp_data, char **req_data, char **license_url);
 
@@ -673,10 +701,10 @@ int package_manager_drm_generate_license_request(const char *resp_data, char **r
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR Internal I/O error
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
- * @pre package_manager_drm_generate_license_request
+ * @pre package_manager_drm_generate_license_request()
  */
 int package_manager_drm_register_license(const char *resp_data);
 
@@ -691,15 +719,15 @@ int package_manager_drm_register_license(const char *resp_data);
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR Internal I/O error
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  */
 int package_manager_drm_decrypt_package(const char *drm_file_path, const char *decrypted_file_path);
 
 
 /**
- * @brief Retrieves data size from given handle
+ * @brief Retrieves data size from given handle.
  * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  * @param[in] handle Package size info handle
  * @param[out] data_size Data size will be returned
@@ -712,7 +740,7 @@ int package_size_info_get_data_size(package_size_info_h handle, long long *data_
 
 
 /**
- * @brief Retrieves cache size from given handle
+ * @brief Retrieves cache size from given handle.
  * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  * @param[in] handle  Package size info handle
  * @param[out] cache_size Cache size will be returned
@@ -725,7 +753,7 @@ int package_size_info_get_cache_size(package_size_info_h handle, long long *cach
 
 
 /**
- * @brief Retrieves application size from given handle
+ * @brief Retrieves application size from given handle.
  * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  * @param[in] handle Package size info handle
  * @param[out] app_size App size will be returned
@@ -738,7 +766,7 @@ int package_size_info_get_app_size(package_size_info_h handle, long long *app_si
 
 
 /**
- * @brief Retrieves external data size from given handle
+ * @brief Retrieves external data size from given handle.
  * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  * @param[in] handle  Package size info handle
  * @param[out] ext_data_size External data size will be returned
@@ -751,7 +779,7 @@ int package_size_info_get_external_data_size(package_size_info_h handle, long lo
 
 
 /**
- * @brief Retrieves external cache size from given handle
+ * @brief Retrieves external cache size from given handle.
  * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  * @param[in] handle Package size info handle
  * @param[out] ext_cache_size External cache size will be returned
@@ -764,7 +792,7 @@ int package_size_info_get_external_cache_size(package_size_info_h handle, long l
 
 
 /**
- * @brief Retrieves external application size from given handle
+ * @brief Retrieves external application size from given handle.
  * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  * @param[in] handle Package size info handle
  * @param[out] ext_app_size External app size will be returned
@@ -867,8 +895,8 @@ int package_manager_request_destroy(package_manager_request_h request);
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @post package_manager_request_event_cb() will be invoked.
  * @see package_manager_request_event_cb()
  * @see package_manager_request_unset_event_cb()
@@ -930,8 +958,8 @@ int package_manager_request_set_mode(package_manager_request_h request, package_
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR          Severe system error
  */
 int package_manager_request_set_tep(package_manager_request_h request, const char *tep_path);
@@ -949,8 +977,8 @@ int package_manager_request_set_tep(package_manager_request_h request, const cha
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @see package_manager_request_uninstall()
  */
 int package_manager_request_install(package_manager_request_h request, const char *path, int *id);
@@ -974,8 +1002,8 @@ int package_manager_request_install(package_manager_request_h request, const cha
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  */
 int package_manager_request_install_with_cb(package_manager_request_h request,
                                                const char *path,
@@ -983,6 +1011,63 @@ int package_manager_request_install_with_cb(package_manager_request_h request,
                                                void *user_data,
                                                int *id);
 
+/**
+ * @platform
+ * @brief Installs the packages located at the given paths, asynchronously.
+ * @since_tizen 6.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in]  request The request handle
+ * @param[in]  paths       The array of absolute paths to the packages to be installed
+ * @param[in]  paths_count The number of paths in array
+ * @param[out] id          The ID of the request to the package manager
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE   No such package
+ * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
+ * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR      Severe system error
+ */
+int package_manager_request_install_packages(package_manager_request_h request,
+                                               const char **paths,
+                                               int paths_count,
+                                               int *id);
+
+/**
+ * @platform
+ * @brief Installs the packages located at the given paths, asynchronously.
+ * @details The progress of the request is asynchronously received by the callback function.
+ *          The @a callback is the individual callback only called for the current API call.
+ *          The @a callback is the only callback called, even if another callback was set for this request
+ *          with package_manager_request_set_event_cb().
+ * @since_tizen 6.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in]  request       The request handle
+ * @param[in]  paths         The array of absolute paths to the packages to be installed
+ * @param[in]  paths_count   The number of paths in array
+ * @param[in]  callback      The callback function to be invoked
+ * @param[in]  user_data     The user data to be passed to the callback function
+ * @param[out] id            The ID of the request to the package manager
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE   No such package
+ * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
+ * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR          I/O error
+ * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR      Severe system error
+ */
+int package_manager_request_install_packages_with_cb(package_manager_request_h request,
+                                               const char **paths,
+                                               int paths_count,
+                                               package_manager_request_event_cb callback,
+                                               void *user_data,
+                                               int *id);
 
 /**
  * @platform
@@ -996,8 +1081,8 @@ int package_manager_request_install_with_cb(package_manager_request_h request,
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  */
 int package_manager_request_uninstall(package_manager_request_h request, const char *name, int *id);
 
@@ -1020,8 +1105,8 @@ int package_manager_request_uninstall(package_manager_request_h request, const c
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  */
 int package_manager_request_uninstall_with_cb(package_manager_request_h request,
                                                const char *name,
@@ -1029,7 +1114,6 @@ int package_manager_request_uninstall_with_cb(package_manager_request_h request,
                                                void *user_data,
                                                int *id);
 
-
 /**
  * @platform
  * @brief Moves the package from SD card to the internal memory and vice versa, asynchronously.
@@ -1038,12 +1122,12 @@ int package_manager_request_uninstall_with_cb(package_manager_request_h request,
  * @privilege %http://tizen.org/privilege/packagemanager.admin
  * @param[in] request   The request handle
  * @param[in] name      The name of the package to be moved
- * @param[in] move_type The move type [enum package_manager_move_type_e], [external to internal/internal to external]
+ * @param[in] move_type The move type [#package_manager_move_type_e], [external to internal/internal to external]
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  */
 int package_manager_request_move(package_manager_request_h request, const char *name, package_manager_move_type_e move_type);
 
@@ -1060,15 +1144,15 @@ int package_manager_request_move(package_manager_request_h request, const char *
  * @privilege %http://tizen.org/privilege/packagemanager.admin
  * @param[in]  request   The request handle
  * @param[in]  name      The name of the package to be moved
- * @param[in]  move_type The move type [enum package_manager_move_type_e], [external to internal/internal to external]
+ * @param[in]  move_type The move type [#package_manager_move_type_e], [external to internal/internal to external]
  * @param[in]  callback  The callback function to be invoked
  * @param[in]  user_data The user data to be passed to the callback function
  * @param[out] id        The ID of the request to the package manager
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  */
 int package_manager_request_move_with_cb(package_manager_request_h request,
                                                const char *name,
@@ -1088,9 +1172,9 @@ int package_manager_request_move_with_cb(package_manager_request_h request,
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
  * @see package_manager_updateinfo_request_destroy()
  */
 int package_manager_updateinfo_request_create(package_updateinfo_request_h *pkg_updateinfo_req);
@@ -1103,8 +1187,8 @@ int package_manager_updateinfo_request_create(package_updateinfo_request_h *pkg_
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @see package_manager_updateinfo_request_create()
  */
 int package_manager_updateinfo_set_pkgid(package_updateinfo_request_h pkg_updateinfo_req, const char *pkgid);
@@ -1117,8 +1201,8 @@ int package_manager_updateinfo_set_pkgid(package_updateinfo_request_h pkg_update
  * @return @c 0 on success,
  *         otherwise a negative error value
  * @retval #PACKAGE_MANAGER_ERROR_NONE              Successful
- * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY     Out of memory
  * @see package_manager_updateinfo_request_create()
  */
 int package_manager_updateinfo_set_version(package_updateinfo_request_h pkg_updateinfo_req, const char *version);
@@ -1138,7 +1222,7 @@ int package_manager_updateinfo_set_version(package_updateinfo_request_h pkg_upda
 int package_manager_updateinfo_set_type(package_updateinfo_request_h pkg_updateinfo_req, package_updateinfo_type_e type);
 
 /**
- * @brief Request to register package update info in platform.
+ * @brief Requests to register package update info in platform.
  * @since_tizen 4.0
  * @param[in] pkg_updateinfo_req    The update info request handle
  * @return @c 0 on success,
@@ -1165,7 +1249,7 @@ int package_manager_updateinfo_request_register(package_updateinfo_request_h pkg
 int package_manager_updateinfo_request_destroy(package_updateinfo_request_h pkg_updateinfo_req);
 
 /**
- * @brief Request to unregister update info in platform for given package id.
+ * @brief Requests to unregister update info in platform for given package id.
  * @since_tizen 4.0
  * @param[in] pkg_updateinfo_req   The update info request handle
  * @param[in] pkgid                The package id to request unregister update info