}
extern "C" EXPORT_API int _pkginfo_get_certinfo(const char *pkgid,
- pkgmgr_certinfo_x** cert, uid_t uid)
+ pkgmgr_certinfo_x* cert, uid_t uid)
{
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
new pkgmgr_common::parcel::CertInfoParcelable(uid,
std::static_pointer_cast<pkgmgr_common::parcel::CertInfoParcelable>(
ptr));
- auto certinfo = return_parcel->GetCertInfo();
+ const pkgmgr_certinfo_x *certinfo = return_parcel->GetCertInfo();
if (certinfo == nullptr)
return PMINFO_R_ERROR;
- *cert = (pkgmgr_certinfo_x*)certinfo;
+ cert->for_all_users = certinfo->for_all_users;
+ cert->pkgid = certinfo->pkgid;
+ cert->cert_value = certinfo->cert_value;
+ for (int i = 0; i < MAX_CERT_TYPE; i++)
+ cert->cert_info[i] = certinfo->cert_info[i];
+ for (int i = 0; i < MAX_CERT_TYPE; i++)
+ cert->cert_id[i] = certinfo->cert_id[i];
+
return PMINFO_R_OK;
}
int _pkginfo_insert_certinfo(const char *pkgid, pkgmgr_certinfo_x* cert, uid_t uid);
-int _pkginfo_get_certinfo(const char *pkgid, pkgmgr_certinfo_x** cert, uid_t uid);
+int _pkginfo_get_certinfo(const char *pkgid, pkgmgr_certinfo_x* cert, uid_t uid);
int _pkginfo_delete_certinfo(const char *pkgid);
pkgmgrinfo_certinfo_h handle,
uid_t uid) {
int ret;
- pkgmgr_certinfo_x *info = (pkgmgr_certinfo_x *)handle;
if (pkgid == NULL || handle == NULL) {
_LOGE("invalid parameter");
return PMINFO_R_EINVAL;
}
- ret = _pkginfo_get_certinfo(pkgid, &info, uid);
+ ret = _pkginfo_get_certinfo(pkgid, handle, uid);
if (ret != PMINFO_R_OK) _LOGE("failed to get certinfo of %s ", pkgid);
return ret;