namespace parcel {
CertInfoParcelable::CertInfoParcelable()
- : AbstractParcelable(0, ParcelableType::CertInfo), cert_info_(nullptr) {}
+ : AbstractParcelable(0, ParcelableType::CertInfo),
+ cert_info_(nullptr), pkgid_("") {}
CertInfoParcelable::CertInfoParcelable(uid_t uid, pkgmgr_certinfo_x *cert_info)
: AbstractParcelable(uid, ParcelableType::CertInfo),
- cert_info_(cert_info) {}
+ cert_info_(cert_info), pkgid_("") {}
+
+CertInfoParcelable::CertInfoParcelable(uid_t uid, std::string pkgid)
+ : AbstractParcelable(uid, ParcelableType::CertInfo),
+ cert_info_(nullptr), pkgid_(pkgid) {}
CertInfoParcelable::~CertInfoParcelable() {
pkgmgrinfo_pkginfo_destroy_certinfo(cert_info_);
return cert_info_;
}
+const std::string& CertInfoParcelable::GetPkgId() {
+ return pkgid_;
+}
+
void CertInfoParcelable::WriteToParcel(tizen_base::Parcel* parcel) const {
AbstractParcelable::WriteToParcel(parcel);
WriteCertInfo(parcel, cert_info_);
ReadInt(parcel, &cert_info_->cert_id[i]);
}
+bool CertInfoParcelable::WritePkgId(tizen_base::Parcel* parcel) {
+ if (pkgid_.empty()) {
+ // what is this for?
+ parcel->WriteBool(true);
+ return true;
+ }
+ // what is this for?
+ parcel->WriteBool(false);
+ WriteString(parcel, pkgid_.c_str());
+
+ return true;
+}
+
+void CertInfoParcelable::ReadPkgId(tizen_base::Parcel* parcel) {
+ bool is_null = false;
+ if (parcel->ReadBool(&is_null) != TIZEN_ERROR_NONE || is_null)
+ return;
+ char *tmp_char;
+ ReadString(parcel, &tmp_char);
+ pkgid_ = tmp_char;
+}
+
std::unique_ptr<AbstractParcelable> CertInfoParcelable::Factory::CreateParcel() {
return nullptr;
}
#include "abstract_parcelable.hh"
+#include <string>
#include <vector>
#include "pkgmgrinfo_private.h"
};
CertInfoParcelable();
+ CertInfoParcelable(uid_t uid, std::string pkgid);
CertInfoParcelable(uid_t uid, pkgmgr_certinfo_x *cert_info);
~CertInfoParcelable();
const pkgmgr_certinfo_x *GetCertInfo();
+ const std::string& GetPkgId();
void WriteToParcel(tizen_base::Parcel* parcel) const override;
void ReadFromParcel(tizen_base::Parcel* parcel) override;
private:
bool WriteCertInfo(tizen_base::Parcel* parcel, pkgmgr_certinfo_x *cert_info) const;
void ReadCertInfo(tizen_base::Parcel* parcel);
+ bool WritePkgId(tizen_base::Parcel* parcel);
+ void ReadPkgId(tizen_base::Parcel* parcel);
pkgmgr_certinfo_x *cert_info_;
+ std::string pkgid_;
};
} // namespace parcel