Add new defined variable for filtering property
[platform/core/api/package-manager.git] / include / package_manager.h
index b2b5e73..dd01157 100644 (file)
@@ -72,6 +72,20 @@ 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_PROP_RES_TYPE          "PMINFO_PKGINFO_PROP_PACKAGE_RES_TYPE"
+
+
+/**
+ * @brief Definition for value to be used when filtering based on package type: String property for filtering packages with specific package types.
+ * @since_tizen 6.5
+ */
+#define PACKAGE_MANAGER_PKGINFO_PROP_TYPE              "PMINFO_PKGINFO_PROP_PACKAGE_TYPE"
+
+
+/**
  * @brief Enumeration for error code.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
@@ -96,6 +110,10 @@ typedef enum {
        PACKAGE_MANAGER_EVENT_TYPE_UPDATE,         /**< Update event type */
        PACKAGE_MANAGER_EVENT_TYPE_MOVE,           /**< Move event type (Since 3.0) */
        PACKAGE_MANAGER_EVENT_TYPE_CLEAR,          /**< Clear event type (Since 3.0) */
+       PACKAGE_MANAGER_EVENT_TYPE_RES_COPY,       /**< Resource copy event type (Since 6.5) */
+       PACKAGE_MANAGER_EVENT_TYPE_RES_CREATE_DIR, /**< Create directory for resource event type (Since 6.5) */
+       PACKAGE_MANAGER_EVENT_TYPE_RES_REMOVE,     /**< Remove resource event type (Since 6.5) */
+       PACKAGE_MANAGER_EVENT_TYPE_RES_UNINSTALL,     /**< Uninstall resource event type (Since 6.5) */
 } package_manager_event_type_e;
 
 
@@ -159,8 +177,23 @@ typedef enum {
        PACKAGE_MANAGER_STATUS_TYPE_CLEAR_DATA = 0x10,        /**< Clear data status */
        PACKAGE_MANAGER_STATUS_TYPE_INSTALL_PROGRESS = 0x20,  /**< Install progress status */
        PACKAGE_MANAGER_STATUS_TYPE_GET_SIZE = 0x40,          /**< Get size status */
+       PACKAGE_MANAGER_STATUS_TYPE_RES_COPY = 0x80,          /**< Resource copy status (Since 6.5) */
+       PACKAGE_MANAGER_STATUS_TYPE_RES_CREATE_DIR = 0x100,   /**< Resource create directory status (Since 6.5) */
+       PACKAGE_MANAGER_STATUS_TYPE_RES_REMOVE = 0x200,       /**< Resource remove status (Since 6.5) */
+       PACKAGE_MANAGER_STATUS_TYPE_RES_UNINSTALL = 0x400,    /**< Resource uninstall status (Since 6.5) */
 } package_manager_status_type_e;
 
+
+/**
+ * @brief Enumeration for resource event path state.
+ * @since_tizen 6.5
+ */
+typedef enum {
+       PACKAGE_MANAGER_RES_EVENT_PATH_STATE_NONE = 0,   /**< State that operation do nothing about the path */
+       PACKAGE_MANAGER_RES_EVENT_PATH_STATE_OK,         /**< State that operation success about the path */
+       PACKAGE_MANAGER_RES_EVENT_PATH_STATE_FAILED,     /**< State that operation fail about the path */
+} package_manager_res_event_path_state_e;
+
 /**
  * @brief The Package manager update info request handle.
  * @since_tizen 4.0
@@ -180,6 +213,11 @@ typedef struct package_manager_s *package_manager_h;
  */
 typedef struct package_manager_filter_s *package_manager_filter_h;
 
+/**
+ * @brief Resource share event handle.
+ * @since_tizen 6.5
+ */
+typedef struct package_manager_res_event_info_s *package_manager_res_event_info_h;
 
 /**
  * @brief Called when the package is installed, uninstalled, or updated, and the progress of the request to the package manager changes.
@@ -197,6 +235,24 @@ typedef struct package_manager_filter_s *package_manager_filter_h;
  */
 typedef void (*package_manager_event_cb) (const char *type, const char *package, package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, package_manager_error_e error, void *user_data);
 
+/**
+ * @brief Called when the progress of the request to the package resource share changes.
+ * @since_tizen 6.5
+ * @remarks The @a pkgid should not be released. The @a pkgid can be used only in the callback.
+ * @remarks The @a handle should not be released. The @a handle can be used only in the callback.
+ * @param[in] pkgid The package ID of resource owner
+ * @param[in] event_type The type of resource event
+ * @param[in] event_state The state of resource event
+ * @param[in] handle    The handle which contains additional information of event
+ * @param[in] user_data   The user data passed from package_manager_set_res_event_cb()
+ * @see package_manager_set_res_event_cb()
+ * @see package_manager_unset_event_cb()
+ */
+typedef void (*package_manager_res_event_cb) (const char *pkgid,
+               package_manager_event_type_e event_type,
+               package_manager_event_state_e event_state,
+               package_manager_res_event_info_h handle, void *user_data);
+
 
 /**
  * @brief Creates a package manager handle.
@@ -269,6 +325,28 @@ int package_manager_set_event_cb(package_manager_h manager, package_manager_even
 
 
 /**
+ * @platform
+ * @brief Registers a callback function to be invoked when the progress of the request to the package resource share changes.
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] manager    The package manager handle
+ * @param[in] callback   The callback function to be registered
+ * @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
+ * @post package_manager_res_event_cb() will be invoked.
+ * @see package_manager_set_event_status()
+ * @see package_manager_res_event_cb()
+ * @see package_manager_unset_event_cb()
+ */
+int package_manager_set_res_event_cb(package_manager_h manager, package_manager_res_event_cb callback, void *user_data);
+
+
+/**
  * @brief Unregisters the callback function.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] manager The package manager handle
@@ -562,7 +640,7 @@ 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);
 
@@ -603,6 +681,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
@@ -828,6 +925,27 @@ typedef void (*package_manager_request_event_cb) (int id, const char *type, cons
 
 /**
  * @platform
+ * @brief Called when the progress of the request to the package resource share changes.
+ * @since_tizen 6.5
+ * @remarks The @a pkgid should not be released. The @a pkgid can be used only in the callback.
+ * @remarks The @a handle should not be released. The @a handle can be used only in the callback.
+ * @param[in] req_id      The ID of the request to the package manager
+ * @param[in] pkgid       The package ID of resource owner
+ * @param[in] event_type  The type of resource event
+ * @param[in] event_state The state of resource event
+ * @param[in] handle      The handle which contains additional information of event
+ * @param[in] user_data   The user data passed from package_manager_request_res_copy_with_cb(), package_manager_request_res_create_dir_with_cb(), package_manager_request_res_remove_with_cb()
+ * @see package_manager_request_res_copy_with_cb()
+ * @see package_manager_request_res_create_dir_with_cb()
+ * @see package_manager_request_res_remove_with_cb()
+ */
+typedef void (*package_manager_request_res_event_cb) (int req_id,
+               const char *pkgid, package_manager_event_type_e event_type, package_manager_event_state_e event_state,
+               package_manager_res_event_info_h handle, void *user_data);
+
+
+/**
+ * @platform
  * @brief Creates a request handle to the package manager.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @remarks You must release @a request using package_manager_request_destroy().
@@ -985,6 +1103,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
@@ -1031,7 +1206,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.
@@ -1040,7 +1214,7 @@ 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
@@ -1062,7 +1236,7 @@ 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
@@ -1193,6 +1367,196 @@ int package_manager_updateinfo_request_unregister(package_updateinfo_request_h p
  */
 int package_manager_updateinfo_request_unregister_all(package_updateinfo_request_h pkg_updateinfo_req);
 
+/**
+ * @platform
+ * @brief  Adds resource source and destination path into handle.
+ * @details Adds resource source path and destination path to be copied into handle
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] request      The package manager request handle
+ * @param[in] src_path     The relative path of resource file or directory to be copied
+ * @param[in] dest_path    The relative path of destination
+ * @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_SYSTEM_ERROR      Severe system error
+ * @see package_manager_request_res_copy_with_cb()
+ */
+int package_manager_request_add_res_copy_path(package_manager_request_h request, const char *src_path, const char *dest_path);
+
+/**
+ * @platform
+ * @brief  Copies resources into target directory, asynchronously.
+ * @details Copies resources into directory, which could be access via privileged applications only.
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] request      The package manager request handle
+ * @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_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_add_res_copy_path()
+ */
+int package_manager_request_res_copy_with_cb(package_manager_request_h request, package_manager_request_res_event_cb callback, void *user_data, int *id);
+
+/**
+ * @platform
+ * @brief  Add directory path to be created at privileged shared directory into handle.
+ * @details Added directory path will be created into directory existed for sharing resources via privileged applications
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] request      The package manager request handle
+ * @param[in] dir_path     The relative path of directories to be created under shared resource path
+ * @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_SYSTEM_ERROR      Severe system error
+ * @see package_manager_request_res_create_dir_with_cb()
+ */
+int package_manager_request_add_res_create_dir_path(package_manager_request_h request, const char *dir_path);
+
+/**
+ * @platform
+ * @brief  Create directories into directory for sharing resources via privileged application, asynchronously.
+ * @details Create directories into certain directory which could be access via privileged applications only.
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] request      The package manager request handle
+ * @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_OUT_OF_MEMORY     Out of memory
+ * @see package_manager_request_add_res_create_dir_path()
+ */
+int package_manager_request_res_create_dir_with_cb(package_manager_request_h request, package_manager_request_res_event_cb callback, void *user_data, int *id);
+
+/**
+ * @platform
+ * @brief  Adds file or directory path to be removed located at privileged shared directory into handle.
+ * @details Added path will be removed from directory existed for sharing resources via privileged applications
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] request      The package manager request handle
+ * @param[in] res_path     The relative path of resources to be removed from privileged shared resource directory
+ * @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_SYSTEM_ERROR      Severe system error
+ * @see package_manager_request_res_remove_with_cb()
+ */
+int package_manager_request_add_res_remove_path(package_manager_request_h request, const char *res_path);
+
+/**
+ * @platform
+ * @brief  Removes resources from for sharing resources via privileged application, asynchronously.
+ * @details Removes resources added at handle from certain directory which could be access via privileged applications only.
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] request      The package manager request handle
+ * @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_OUT_OF_MEMORY     Out of memory
+ * @see package_manager_request_add_res_remove_path()
+ */
+int package_manager_request_res_remove_with_cb(package_manager_request_h request, package_manager_request_res_event_cb callback, void *user_data, int *id);
+
+/**
+ * @platform
+ * @brief Gets the error code from given resource event handle.
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] handle       Resource event info handle
+ * @param[out] error       Error will be returned
+ * @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
+ */
+int package_manager_res_event_info_get_error_code(package_manager_res_event_info_h handle, package_manager_error_e *error);
+
+
+/**
+ * @brief Called to retrieve all path state about resource event.
+ * @since_tizen 6.5
+ * @remarks The @a path should not be released. The @a path can be used only in the callback.
+ * @param[in] path         The path handled by a resource event
+ * @param[in] state        The state of the path
+ * @param[in] user_data    The user data passed from the foreach function
+ * @return  @c true to continue with the next iteration of the loop,
+ *          otherwise @c false to break out of the loop
+ * @see package_manager_res_event_info_foreach_path()
+ */
+typedef bool (*package_manager_res_event_path_cb) (const char *path, package_manager_res_event_path_state_e state, void *user_data);
+
+/**
+ * @platform
+ * @brief Retrieves all package information of installed packages.
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] handle    Resource event info handle
+ * @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 #PACKAGE_MANAGER_ERROR_NONE              Successful
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @post This function invokes package_manager_res_event_path_cb() repeatedly for each path state handled by resource event.
+ * @see package_manager_res_event_path_cb()
+ */
+int package_manager_res_event_info_foreach_path(package_manager_res_event_info_h handle, package_manager_res_event_path_cb callback, void *user_data);
+
+/**
+ * @platform
+ * @brief Gets the privileged shared resource path for the given package ID.
+ * @since_tizen 6.5
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @remarks You must release @a path using free().
+ * @param[in]  package_id      The ID of the package
+ * @param[out] path                    The path of privileged shared resource path 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
+ */
+int package_manager_get_priv_shared_res_path(const char *package_id, char **path);
+
 
 /**
 * @}