X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fpkgmgr-info.h;h=cb63b9f31ece62c3621ceb436ba65067b6e54ced;hb=443aa48ebf06ba49a45e525ed5fdb07c992a3bd3;hp=b76166337d54632e691a798c88a4927cc3d71943;hpb=2cb16e8b5927f1b32d5c6eda7c84689dd9de4c86;p=platform%2Fcore%2Fappfw%2Fpkgmgr-info.git diff --git a/include/pkgmgr-info.h b/include/pkgmgr-info.h index b761663..cb63b9f 100644 --- a/include/pkgmgr-info.h +++ b/include/pkgmgr-info.h @@ -165,6 +165,8 @@ extern "C" { #define PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE "PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE" /** Boolean property for filtering based on app info*/ #define PMINFO_APPINFO_PROP_APP_CHECK_STORAGE "PMINFO_APPINFO_PROP_APP_CHECK_STORAGE" +/** Boolean property for filtering based on app info*/ +#define PMINFO_APPINFO_PROP_PKG_DISABLE "PMINFO_APPINFO_PROP_PKG_DISABLE" /** will be updated*/ /** string property for filtering based on pkg info*/ @@ -1053,6 +1055,302 @@ static int get_pkg_installed_time(const char *pkgid) int pkgmgrinfo_pkginfo_get_installed_time(pkgmgrinfo_pkginfo_h handle, int *installed_time); /** + * @fn int pkgmgrinfo_updateinfo_create(pkgmgrinfo_updateinfo_h *update_handle) + * @brief This API creates the update info handle + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[out] handle pointer to package update info handle + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @post pkgmgrinfo_updateinfo_destroy() + * @see pkgmgrinfo_updateinfo_set_pkgid() + * @see pkgmgrinfo_updateinfo_set_version() + * @see pkgmgrinfo_updateinfo_set_type() + * @see pkgmgr_client_register_pkg_updateinfo() + * @code +static int updateinfo_handle_create() +{ + int ret = 0; + + pkgmgrinfo_updateinfo_h handle; + ret = pkgmgrinfo_updateinfo_create(&handle); + if (ret != PMINFO_R_OK) + return -1; + pkgmgrinfo_update_infodestroy(handle); + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_create(pkgmgrinfo_updateinfo_h *update_handle); + +/** + * @fn int pkgmgrinfo_updateinfo_destroy(pkgmgrinfo_updateinfo_h update_handle) + * @brief This API destroy the update info handle + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] handle pointer to package update info handle + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @pre pkgmgrinfo_updateinfo_create() + * @see pkgmgr_client_register_pkg_updateinfo() + * @code +static int updateinfo_handle_destroy(pkgmgrinfo_updateinfo_h handle) +{ + int ret = 0; + + ret = pkgmgrinfo_updateinfo_destroy(handle); + if (ret != PMINFO_R_OK) + return -1; + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_destroy(pkgmgrinfo_updateinfo_h update_handle); + +/** + * @fn int pkgmgrinfo_updateinfo_get_updateinfo(const char *pkgid, pkgmgrinfo_updateinfo_h *update_handle) + * @brief This API creates the package update information handle from db + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] pkgid pointer to package ID + * @param[in] uid the addressee user id of the instruction + * @param[out] update_handle pointer to the package update info handle. + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @pre None + * @post pkgmgrinfo_updateinfo_destroy() + * @see pkgmgrinfo_updateinfo_get_pkgid() + * @see pkgmgrinfo_updateinfo_get_version() + * @see pkgmgrinfo_updateinfo_get_update_type() + * @code +static int get_pkg_update_info(const char *pkgid) +{ + int ret = 0; + char *version; + pkgmgrinfo_updateinfo_h handle; + ret = pkgmgrinfo_updateinfo_get_updateinfo(pkgid, &handle); + if (ret != PMINFO_R_OK) + return -1; + ret = pkgmgrinfo_updateinfo_get_version(handle, &version); + if (ret != PMINFO_R_OK) { + pkgmgrinfo_updateinfo_destroy(handle); + return -1; + } + printf("pkg update version: %s\n", version + pkgmgrinfo_updateinfo_destroy(handle); + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_get_updateinfo(const char *pkgid, pkgmgrinfo_updateinfo_h *update_handle); +int pkgmgrinfo_updateinfo_get_usr_updateinfo(const char *pkgid, pkgmgrinfo_updateinfo_h *update_handle, uid_t uid); + +/** + * @fn int pkgmgrinfo_updateinfo_set_pkgid(pkgmgrinfo_updateinfo_h updateinfo_handle, const char *pkgid) + * @brief This API sets given pkgid into handle + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] handle pointer to package update info handle + * @param[in] pkgid package id + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @code +static int set_pkgid_to_handle(pkgmgrinfo_updateinfo_h handle, const char *pkgid) +{ + int ret = 0; + + ret = pkgmgrinfo_updateinfo_set_pkgid(handle, pkgid); + if (ret != PMINFO_R_OK) + return -1; + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_set_pkgid(pkgmgrinfo_updateinfo_h updateinfo_handle, const char *pkgid); + +/** + * @fn int pkgmgrinfo_updateinfo_set_version(pkgmgrinfo_updateinfo_h updateinfo_handle, const char *version) + * @brief This API sets given version into handle + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] handle pointer to package update info handle + * @param[in] version update version + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @code +static int set_version_to_handle(pkgmgrinfo_updateinfo_h handle, const char *version) +{ + int ret = 0; + + ret = pkgmgrinfo_updateinfo_set_version(handle, version); + if (ret != PMINFO_R_OK) + return -1; + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_set_version(pkgmgrinfo_updateinfo_h updateinfo_handle, const char *version); + +/** + * @fn int pkgmgrinfo_updateinfo_set_type(pkgmgrinfo_updateinfo_h updateinfo_handle, pkgmgrinfo_updateinfo_update_type type) + * @brief This API sets given update type into handle + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] handle pointer to package update info handle + * @param[in] type update type + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @code +static int set_type_to_handle(pkgmgrinfo_updateinfo_h handle, pkgmgrinfo_updateinfo_update_type type) +{ + int ret = 0; + + ret = pkgmgrinfo_updateinfo_set_type(handle, type); + if (ret != PMINFO_R_OK) + return -1; + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_set_type(pkgmgrinfo_updateinfo_h updateinfo_handle, pkgmgrinfo_updateinfo_update_type type); + +/** + * @fn int pkgmgrinfo_updateinfo_get_pkgid(pkgmgrinfo_updateinfo_h update_handle, char **pkgid) + * @brief This API retrieves the pkgid from given update info + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] handle pointer to package update info handle + * @param[out] pkgid package id + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @code +static int get_pkgid_from_handle(pkgmgrinfo_updateinfo_h handle) +{ + int ret = 0; + char *pkgid; + + ret = pkgmgrinfo_updateinfo_get_pkgid(handle, &pkgid); + if (ret != PMINFO_R_OK) + return -1; + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_get_pkgid(pkgmgrinfo_updateinfo_h update_handle, char **pkgid); + +/** + * @fn int pkgmgrinfo_updateinfo_get_version(pkgmgrinfo_updateinfo_h updateinfo_handle, char **version) + * @brief This API retrieves the version from given update info + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] handle pointer to package update info handle + * @param[out] version update version + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @code +static int get_version_from_handle(pkgmgrinfo_updateinfo_h handle) +{ + int ret = 0; + char *version; + + ret = pkgmgrinfo_updateinfo_get_version(handle, &version); + if (ret != PMINFO_R_OK) + return -1; + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_get_version(pkgmgrinfo_updateinfo_h updateinfo_handle, char **version); + +/** + * @fn int pkgmgrinfo_updateinfo_get_update_type(pkgmgrinfo_updateinfo_h updateinfo_handle, pkgmgrinfo_updateinfo_update_type *type) + * @brief This API retrieves the update type from given update info + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] handle pointer to package update info handle + * @param[out] type update type + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @code +static int get_type_from_handle(pkgmgrinfo_updateinfo_h handle) +{ + int ret = 0; + pkgmgrinfo_updateinfo_update_type *type; + + ret = pkgmgrinfo_updateinfo_get_type(handle, &type); + if (ret != PMINFO_R_OK) + return -1; + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_get_update_type(pkgmgrinfo_updateinfo_h updateinfo_handle, pkgmgrinfo_updateinfo_update_type *type); + + +/** + * @fn int pkgmgrinfo_updateinfo_foreach_updateinfo(pkgmgrinfo_foreach_updateinfo_cb callback, void *user_data) + * @brief This API retrieve the update informations and invoke given callback for it. + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] callback callback to be invoked for each retrieved informations + * @param[in] user_data user data to be passed to callback + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + * @code +static int foreach_pkg_updateinfo(pkgmgrinfo_foreach_updateinfo_cb callback) +{ + int ret = 0; + + ret = pkgmgrinfo_updateinfo_foreach_updateinfo(callback, NULL); + if (ret != PMINFO_R_OK) + return -1; + return 0; +} + * @endcode + */ +int pkgmgrinfo_updateinfo_foreach_updateinfo(pkgmgrinfo_foreach_updateinfo_cb callback, void *user_data); +int pkgmgrinfo_updateinfo_usr_foreach_updateinfo(uid_t uid, pkgmgrinfo_foreach_updateinfo_cb callback, void *user_data); + +/** * @fn int pkgmgrinfo_appinfo_get_launch_mode(pkgmgrinfo_appinfo_h handle, char **mode) * @brief This API gets the launch mode of package from the package ID * @@ -3563,6 +3861,28 @@ int pkgmgrinfo_appinfo_usr_get_datacontrol_trusted_info(const char *providerid, const char *type, uid_t uid, char **appid, bool *is_trusted); /** + * @fn int pkgmgrinfo_appinfo_foreach_datacontrol_privileges(const char *providerid, const char *type, + pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data); + * @brief This API retrieves the privileges and invokes given callback for each privilege. + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * + * @param[in] providerid pointer to the providerid of datacontrol. + * @param[in] type pointer to the type of dataconltrol. + * @param[in] privilege_func callback function for list + * @param[in] user_data user data to be passed to callback function + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + */ +int pkgmgrinfo_appinfo_foreach_datacontrol_privileges(const char *providerid, const char *type, + pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data); +int pkgmgrinfo_appinfo_usr_foreach_datacontrol_privileges(const char *providerid, const char *type, + pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data, uid_t uid); + +/** * @fn int pkgmgrinfo_appinfo_get_alias_appid(pkgmgrinfo_appinfo_h handle, char **alias_appid) * @brief This API gets the alias_appid of the application * @@ -3866,50 +4186,6 @@ static int get_app_support_mode(const char *appid) */ int pkgmgrinfo_appinfo_get_support_mode(pkgmgrinfo_appinfo_h handle, int *support_mode); -/** - * @fn int pkgmgrinfo_appinfo_foreach_permission(pkgmgrinfo_appinfo_h handle, - pkgmgrinfo_app_permission_list_cb permission_func, void *user_data); - * @brief This API gets the list of permission for a particular application - * - * @par This API is for package-manager client application - * @par Sync (or) Async : Synchronous API - * @param[in] handle pointer to the application info handle. - * @param[in] permission_func callback function for list - * @param[in] user_data user data to be passed to callback function - * @return 0 if success, error code(<0) if fail - * @retval PMINFO_R_OK success - * @retval PMINFO_R_EINVAL invalid argument - * @retval PMINFO_R_ERROR internal error - * @pre pkgmgrinfo_appinfo_get_appinfo() - * @post pkgmgrinfo_appinfo_destroy_appinfo() - * @code -int permission_func(const char *name, void *user_data) -{ - if (strcmp(name, (char *)user_data) == 0) - return -1; - else - return 0; -} - -static int list_permission(const char *appid, char *permission) -{ - int ret = 0; - pkgmgrinfo_appinfo_h handle; - ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle); - if (ret != PMINFO_R_OK) - return -1; - ret = pkgmgrinfo_appinfo_foreach_permission(handle, permission_func, (void *)permission); - if (ret != PMINFO_R_OK) { - pkgmgrinfo_appinfo_destroy_appinfo(handle); - return -1; - } - pkgmgrinfo_appinfo_destroy_appinfo(handle); - return 0; -} - * @endcode - */ -int pkgmgrinfo_appinfo_foreach_permission(pkgmgrinfo_appinfo_h handle, - pkgmgrinfo_app_permission_list_cb permission_func, void *user_data); /** * @fn int pkgmgrinfo_appinfo_foreach_category(pkgmgrinfo_appinfo_h handle, @@ -4003,6 +4279,35 @@ static int list_metadata(const char *appid, char *key) int pkgmgrinfo_appinfo_foreach_metadata(pkgmgrinfo_appinfo_h handle, pkgmgrinfo_app_metadata_list_cb metadata_func, void *user_data); +/** + * @fn int pkgmgrinfo_appinfo_foreach_appcontrol_privileges(const char *appid, + * const char *operation, const char *uri, const char *mime, + * pkgmgrinfo_pkg_privilege_list_cb privilege_func, + * void *user_data); + * @brief This API gets the list of privileges for a particular + * appllication's app_control + * + * @par This API is for package-manager client application + * @par Sync (or) Async : Synchronous API + * @param[in] appid application id + * @param[in] operation operation of appcontrol + * @param[in] uri uri of appcontrol + * @param[in] mime mime of appcontrol + * @param[in] privilege_func callback function for list + * @param[in] user_data user data to be passed to callback function + * @return 0 if success, error code(<0) if fail + * @retval PMINFO_R_OK success + * @retval PMINFO_R_EINVAL invalid argument + * @retval PMINFO_R_ERROR internal error + */ +int pkgmgrinfo_appinfo_usr_foreach_appcontrol_privileges(const char *appid, + const char *operation, const char *uri, const char *mime, + pkgmgrinfo_pkg_privilege_list_cb privilege_func, + void *user_data, uid_t uid); +int pkgmgrinfo_appinfo_foreach_appcontrol_privileges(const char *appid, + const char *operation, const char *uri, const char *mime, + pkgmgrinfo_pkg_privilege_list_cb privilege_func, + void *user_data); /** * @fn int pkgmgrinfo_appinfo_foreach_appcontrol(pkgmgrinfo_appinfo_h handle, @@ -5897,6 +6202,27 @@ int pkgmgrinfo_appinfo_get_usr_installed_list_full( int pkgmgrinfo_appinfo_get_installed_list_full( pkgmgrinfo_app_list_cb app_func, int flag, void *user_data); + +int pkgmgrinfo_archiveinfo_get_archiveinfo(const char *path, + pkgmgrinfo_archiveinfo_h *handle); +int pkgmgrinfo_archiveinfo_destroy_archiveinfo(pkgmgrinfo_archiveinfo_h handle); +int pkgmgrinfo_archiveinfo_get_pkgid(pkgmgrinfo_archiveinfo_h handle, + const char **pkgid); +int pkgmgrinfo_archiveinfo_get_type(pkgmgrinfo_archiveinfo_h handle, + const char **type); +int pkgmgrinfo_archiveinfo_get_version(pkgmgrinfo_archiveinfo_h handle, + const char **version); +int pkgmgrinfo_archiveinfo_get_api_version(pkgmgrinfo_archiveinfo_h handle, + const char **api_version); +int pkgmgrinfo_archiveinfo_get_description(pkgmgrinfo_archiveinfo_h handle, + const char **description); +int pkgmgrinfo_archiveinfo_get_label(pkgmgrinfo_archiveinfo_h handle, + const char **label); +int pkgmgrinfo_archiveinfo_get_author(pkgmgrinfo_archiveinfo_h handle, + const char **author); +int pkgmgrinfo_archiveinfo_get_icon(pkgmgrinfo_archiveinfo_h handle, + const unsigned char **icon, size_t *size); + /** * @pkgmgrinfo client API end **/