/**
* @brief Enumeration for error code.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
PACKAGE_MANAGER_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
/**
* @brief Enumeration for event type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
PACKAGE_MANAGER_EVENT_TYPE_INSTALL = 0, /**< Install event type */
/**
* @brief Enumeration for event state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
PACKAGE_MANAGER_EVENT_STATE_STARTED = 0, /**< Started event state */
} package_manager_event_state_e;
/**
- * @internal
+ * @platform
* @brief Enumeration for request mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
- PACKAGE_MANAGER_REQUEST_MODE_DEFAULT = 0, /**< @internal Default request mode */
- PACKAGE_MANAGER_REQUEST_MODE_QUIET, /**< @internal Quiet request mode */
+ PACKAGE_MANAGER_REQUEST_MODE_DEFAULT = 0, /**< @platform Default request mode */
+ PACKAGE_MANAGER_REQUEST_MODE_QUIET, /**< @platform Quiet request mode */
/* These enum will be deprecated. Use above enum instead. */
PACAKGE_MANAGER_REQUEST_MODE_DEFAULT = 0,
/**
* @brief Enumeration for move type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
PACKAGE_MANAGER_REQUEST_MOVE_TO_INTERNAL = 0, /**< Internal type */
/**
* @brief Enumeration for certification compare type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
PACKAGE_MANAGER_COMPARE_MATCH = 0, /**< Matching certification */
/**
* @brief Enumeration for permission type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
PACKAGE_MANAGER_PERMISSION_NORMAL = 0, /**< Normal permission */
/**
* @brief Enumeration for status type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
PACKAGE_MANAGER_STATUS_TYPE_ALL = 0x00, /**< All status */
/**
* @brief The Package manager handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef struct package_manager_s *package_manager_h;
/**
* @brief Package manager filter handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
-typedef void *package_manager_filter_h;
+typedef struct package_manager_filter_s *package_manager_filter_h;
/**
- * @internal
+ * @platform
* @brief The Package manager request handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef struct package_manager_request_s *package_manager_request_h;
/**
- * @internal
+ * @platform
* @brief Called when the progress of the request to the package manager changes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] id The ID of the request to the package manager
* @param[in] type The type of the package to install, uninstall or update
void *user_data);
/**
- * @internal
+ * @platform
* @brief Creates a request handle to the package manager.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @remarks You must release @a request using package_manager_request_destroy().
*
int package_manager_request_create(package_manager_request_h *request);
/**
- * @internal
+ * @platform
* @brief Destroys the request handle to the package manager.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] request The request handle to the package manager
*
int package_manager_request_destroy(package_manager_request_h request);
/**
- * @internal
+ * @platform
* @brief Registers a callback function to be invoked when the progress of the request changes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
* @param[in] request The request handle
package_manager_request_event_cb callback, void *user_data);
/**
- * @internal
+ * @platform
* @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] request The request handle
*
int package_manager_request_unset_event_cb(package_manager_request_h request);
/**
- * @internal
+ * @platform
* @brief Sets the type of the package to install, uninstall or update.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] request The request handle
* @param[in] type The type of the package
const char *type);
/**
- * @internal
+ * @platform
* @brief Sets the mode of the request.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] request The request handle
* @param[in] mode The mode of the request
package_manager_request_mode_e mode);
/**
- * @internal
+ * @platform
* @brief Installs the package located at the given path.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel platform
* @privilege %http://tizen.org/privilege/packagemanager.admin
* @param[in] request The request handle
const char *path, int *id);
/**
- * @internal
+ * @platform
* @brief Uninstalls the package with the given name.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel platform
* @privilege %http://tizen.org/privilege/packagemanager.admin
* @param[in] request The request handle
const char *name, int *id);
/**
- * @internal
+ * @platform
* @brief Moves the package from SD card to the internal memory and vice versa.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel platform
* @privilege %http://tizen.org/privilege/packagemanager.admin
* @param[in] request The request handle
/**
* @brief Called when the package is installed, uninstalled or updated, and the progress of the request to the package manager changes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] type The type of the package to be installed, uninstalled or updated
* @param[in] package The name of the package to be installed, uninstalled or updated
/**
* @brief Creates a package manager handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
* @remarks You must release @a manager using package_manager_destroy().
/**
* @brief Destroys the package manager handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] manager The package manager handle
*
/**
* @brief Sets the event status of the package when the package is installed, uninstalled or updated.
* You can combine multiple status using OR operation which you want to listen.
- * @since_tizen 2.3
+ * @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
/**
* @brief Registers a callback function to be invoked when the package is installed, uninstalled or updated.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
* @param[in] manager The package manager handle
/**
* @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] manager The package manager handle
*
/**
* @brief Called to retrieve all packages.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] package_info The package information
* @param[in] user_data The user data passed from the foreach function
/**
* @brief Retrieves all package information of installed packages.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
* @param[in] callback The callback function to be invoked
/**
* @brief Gets the package ID for the given app ID.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
* @param[in] app_id The ID of the application
/**
* @brief Gets the package information for the given package.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
* @remarks You must release @a package_info using package_info_destroy().
/**
* @brief Compares whether two package certifications are matched.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] lhs_package_id The first package ID to compare
* @param[in] rhs_package_id The second package ID to compare
/**
* @brief Compares whether two app certifications are matched.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] lhs_app_id The first app ID to compare
* @param[in] rhs_app_id The second app ID to compare
/**
* @brief Checks whether the package is preloaded by @a app_id.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
* @param[in] app_id The ID of the application
/**
* @brief Gets the package permission type by @a app_id.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
* @param[in] app_id The ID of the application
int package_manager_get_permission_type(const char *app_id, package_manager_permission_type_e *permission_type);
/**
- * @internal
* @brief Clears the application's internal and external cache directory.
* @details All files stored in the cache directory of the application specified with the
* package ID are removed.
*
- * @since_tizen 2.3
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @since_tizen 2.4
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/packagemanager.clearcache
*
* @param[in] package_id The package ID
*
int package_manager_clear_cache_dir(const char *package_id);
/**
- * @internal
+ * @platform
* @brief Clears all applications' internal and external cache directory.
* @details All files stored in the cache directory of each application are removed.
*
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel platform
* @privilege %http://tizen.org/privilege/packagemanager.admin
*
int package_manager_clear_all_cache_dir(void);
/**
- * @brief The structure type for data structure for the package size information.
- * @since_tizen 2.3
+ * @platform
+ * @brief The structure type for the package size information.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef struct package_size_info
{
} package_size_info_t;
/**
+ * @brief The handle for the package size information.
+ * @since_tizen 2.4
+ */
+typedef package_size_info_t *package_size_info_h;
+
+/**
* @brief Called when the package size information is obtained.
- * @since_tizen 2.3
+ * @since_tizen 2.4
*
* @param[in] package_id The package ID
* @param[in] size_info The pointer to the structure including the package size information
* @param[in] user_data The user data to be passed to the callback function
*/
-typedef void (*package_manager_size_info_receive_cb)(const char *package_id, const package_size_info_t *size_info, void *user_data);
+typedef void (*package_manager_size_info_receive_cb)(const char *package_id, const package_size_info_h size_info, void *user_data);
/**
+ * @platform
* @brief Called when the total package size information is obtained.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] size_info The pointer to the structure including the package size information
* @param[in] user_data The user data to be passed to the callback function
/**
* @brief Gets the package size information.
* @details The package size info is asynchronously obtained by the callback function.
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/packagemanager.info
*
- * @since_tizen 2.3
+ * @since_tizen 2.4
*
* @param[in] package_id The package ID
* @param[in] callback The asynchronous callback function to get the package size information
int package_manager_get_package_size_info(const char *package_id, package_manager_size_info_receive_cb callback, void *user_data);
/**
+ * @platform
* @brief Gets the total package size information.
* @details The total package size info is asynchronously obtained by the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @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
/**
* @brief Creates the package information filter handle from db.
* @details All filter properties will be ANDed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
*
/**
* @brief This API destroys the package information filter handle freeing up all the resources
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*
* @param[in] handle Pointer to the package info filter handle.
*
/**
* @brief This API adds a boolean filter property to the filter handle
- * @since_tizen 2.3
+ * @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.
/**
* @brief This API counts the package that satisfy the filter conditions
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
*
/**
* @brief This API executes the user supplied callback function for each package that satisfy the filter conditions
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/packagemanager.info
*
package_manager_package_info_cb callback, void *user_data);
/**
+ * @platform
+ * @brief Generates request for getting License
+ * @since_tizen 2.4
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] resp_data The response data string of the purchase request
+ * @param[out] req_data License request data
+ * @param[out] license_url License acquisition url data
+ * @remarks You must release @a req_data and @a license_url by yourself.
+ * @return 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_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
+ */
+int package_manager_drm_generate_license_request(const char *resp_data, char **req_data, char **license_url);
+
+/**
+ * @platform
+ * @brief Registers encrypted license
+ * @since_tizen 2.4
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] resp_data The response data string of the rights request
+ * @return 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 Internal I/O error
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @pre package_manager_drm_generate_license_request
+ */
+int package_manager_drm_register_license(const char *resp_data);
+
+/**
+ * @platform
+ * @brief Decrypts contents which is encrypted
+ * @since_tizen 2.4
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] drm_file_path DRM file path
+ * @param[in] decrypted_file_path Decrypted file path
+ * @return 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 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
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] handle Package size info handle
+ * @param[out] data_size Data size will be returned
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int package_size_info_get_data_size(package_size_info_h handle, long long *data_size);
+
+/**
+ * @brief Retrieves cache size from given handle
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] handle Package size info handle
+ * @param[out] cache_size Cache size will be returned
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int package_size_info_get_cache_size(package_size_info_h handle, long long *cache_size);
+
+/**
+ * @brief Retrieves application size from given handle
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] handle Package size info handle
+ * @param[out] app_size App size will be returned
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int package_size_info_get_app_size(package_size_info_h handle, long long *app_size);
+
+/**
+ * @brief Retrieves external data size from given handle
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] handle Package size info handle
+ * @param[out] ext_data_size External data size will be returned
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int package_size_info_get_external_data_size(package_size_info_h handle, long long *ext_data_size);
+
+
+/**
+ * @brief Retrieves external cache size from given handle
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] handle Package size info handle
+ * @param[out] ext_cache_size External cache size will be returned
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int package_size_info_get_external_cache_size(package_size_info_h handle, long long *ext_cache_size);
+
+
+/**
+ * @brief Retrieves external application size from given handle
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] handle Package size info handle
+ * @param[out] ext_app_size External app size will be returned
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int package_size_info_get_external_app_size(package_size_info_h handle, long long *ext_app_size);
+
+
+/**
* @}
*/