pkgmgrinfo_basic_free_dependency(dep);
}
-API int pkgmgrinfo_pkginfo_foreach_depends_on(pkgmgrinfo_pkginfo_h handle,
+/* This API is not exported at the header file */
+API int pkgmgrinfo_pkginfo_foreach_depends_on_by_pkgid(const char *pkgid,
pkgmgrinfo_pkg_dependency_list_cb dependency_cb,
- void *user_data)
+ void *user_data, uid_t uid)
{
int ret;
- pkgmgr_pkginfo_x *info = (pkgmgr_pkginfo_x *)handle;
GList *pkg_list = NULL;
GList *l;
dependency_x *dep;
- if (handle == NULL || dependency_cb == NULL || info->pkg_info == NULL) {
+ if (pkgid == NULL || dependency_cb == NULL) {
LOGE("invalid parameter");
return PMINFO_R_EINVAL;
}
- ret = _pkginfo_get_depends_on(info->uid, info->pkg_info->package, &pkg_list);
+ ret = _pkginfo_get_depends_on(uid, pkgid, &pkg_list);
if (ret != PMINFO_R_OK)
return PMINFO_R_ERROR;
return PMINFO_R_OK;
}
+API int pkgmgrinfo_pkginfo_foreach_depends_on(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_dependency_list_cb dependency_cb,
+ void *user_data)
+{
+ pkgmgr_pkginfo_x *info = (pkgmgr_pkginfo_x *)handle;
+
+ if (handle == NULL || dependency_cb == NULL || info->pkg_info == NULL) {
+ LOGE("invalid parameter");
+ return PMINFO_R_EINVAL;
+ }
+
+ return pkgmgrinfo_pkginfo_foreach_depends_on_by_pkgid(
+ info->pkg_info->package, dependency_cb, user_data,
+ info->uid);
+}
+
API int pkgmgrinfo_pkginfo_foreach_res_allowed_package(
pkgmgrinfo_pkginfo_h handle,
pkgmgrinfo_res_allowed_package_list_cb res_allowed_package_cb,