void *user_data;
} foreach_updateinfo_context_s;
-typedef struct _foreach_privilege_ {
- package_info_privilege_info_cb callback;
- void *user_data;
-} foreach_privilege_s;
-
static int package_info_foreach_updateinfo_cb(const pkgmgrinfo_updateinfo_h handle, void *user_data)
{
foreach_updateinfo_context_s *foreach_updateinfo = user_data;
return PACKAGE_MANAGER_ERROR_NONE;
}
-static int package_info_foreach_privilege_cb(const char *privilege_name, void *user_data)
-{
- foreach_privilege_s *foreach_privilege = (foreach_privilege_s *)user_data;
-
- if (!foreach_privilege->callback(privilege_name, foreach_privilege->user_data))
- return -1;
- else
- return 0;
-}
-
API int package_info_foreach_privilege_info(package_info_h package_info, package_info_privilege_info_cb callback, void *user_data)
{
int ret = 0;
- foreach_privilege_s foreach_privilege = {
- .callback = callback,
- .user_data = user_data,
- };
if (package_info == NULL || callback == NULL)
return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
- ret = pkgmgrinfo_pkginfo_foreach_privilege(package_info->pkgmgr_pkginfo, package_info_foreach_privilege_cb, &foreach_privilege);
+ ret = pkgmgrinfo_pkginfo_foreach_privilege(package_info->pkgmgr_pkginfo, (pkgmgrinfo_pkg_privilege_list_cb)callback, user_data);
return ret;
}