Add api for resource package
[platform/core/api/package-manager.git] / include / package_manager.h
index e5f5ce0..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
  */
@@ -603,6 +610,25 @@ int package_manager_filter_add_bool(package_manager_filter_h handle, const char
 
 
 /**
+ * @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
@@ -992,9 +1018,9 @@ int package_manager_request_install_with_cb(package_manager_request_h request,
  * @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 package to be installed
- * @param[in]  n_paths The number of paths in array
- * @param[out] id      The ID of the request to the package manager
+ * @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
@@ -1004,11 +1030,10 @@ int package_manager_request_install_with_cb(package_manager_request_h request,
  * @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
- * @see package_manager_request_uninstall_packages()
  */
 int package_manager_request_install_packages(package_manager_request_h request,
                                                const char **paths,
-                                               int n_paths,
+                                               int paths_count,
                                                int *id);
 
 /**
@@ -1021,12 +1046,12 @@ int package_manager_request_install_packages(package_manager_request_h request,
  * @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 package to be installed
- * @param[in]  n_paths   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
+ * @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
@@ -1039,7 +1064,7 @@ int package_manager_request_install_packages(package_manager_request_h request,
  */
 int package_manager_request_install_packages_with_cb(package_manager_request_h request,
                                                const char **paths,
-                                               int n_paths,
+                                               int paths_count,
                                                package_manager_request_event_cb callback,
                                                void *user_data,
                                                int *id);
@@ -1091,65 +1116,6 @@ int package_manager_request_uninstall_with_cb(package_manager_request_h request,
 
 /**
  * @platform
- * @brief Uninstalls the packages with the given names, asynchronously.
- * @since_tizen 6.0
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/packagemanager.admin
- * @param[in]  request The request handle
- * @param[in]  names   The array of names of the package to be uninstalled
- * @param[in]  n_names The number of names 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
- * @see package_manager_request_uninstall_packages()
- */
-int package_manager_request_uninstall_packages(package_manager_request_h request,
-                                               const char **names,
-                                               int n_names,
-                                               int *id);
-
-/**
- * @platform
- * @brief Uninstalls the packages with the given names, 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]  names     The array of names of the package to be uninstalled
- * @param[in]  n_names   The number of names 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_uninstall_packages_with_cb(package_manager_request_h request,
-                                               const char **names,
-                                               int n_names,
-                                               package_manager_request_event_cb callback,
-                                               void *user_data,
-                                               int *id);
-
-/**
- * @platform
  * @brief Moves the package from SD card to the internal memory and vice versa, asynchronously.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel platform