void AbstractParcelable::SetUid(uid_t uid) { uid_ = uid; }
-ReqType AbstractParcelable::GetReqType() { return req_type_; }
+ParcelableType AbstractParcelable::GetType() { return type_; }
} // namespace parcel
} // namespace pkgmgr_common
#define EXPORT_API __attribute__((visibility("default")))
#endif
+enum ParcelableType {
+ Unknown = -1,
+ AppCtrlPrivInfo,
+ AppInfo,
+ CertInfo,
+ DataCtrlInfo,
+ Filter,
+ PkgInfo,
+ String,
+};
+
class EXPORT_API AbstractParcelable : public tizen_base::Parcelable {
public:
class EXPORT_API IFactory {
virtual std::unique_ptr<AbstractParcelable> CreateParcel(std::vector<unsigned char> data) = 0;
};
- AbstractParcelable() : uid_(0), req_type_(ReqType::GET_APP_INFO) {}
+ AbstractParcelable() : uid_(0), type_(ParcelableType::Unknown) {}
+ AbstractParcelable(uid_t uid, ParcelableType type) : uid_(uid), type_(type) {}
virtual ~AbstractParcelable();
uid_t GetUid();
void SetUid(uid_t uid);
- ReqType GetReqType();
+ ParcelableType GetType();
protected:
bool ReadString(tizen_base::Parcel* parcel, char **val);
private:
uid_t uid_;
- ReqType req_type_;
+ ParcelableType type_;
};
} // namespace parcel
namespace pkgmgr_common {
namespace parcel {
-CertInfoParcelable::CertInfoParcelable(pkgmgr_certinfo_x *cert_info)
- : cert_info_(cert_info) {}
+CertInfoParcelable::CertInfoParcelable(uid_t uid, pkgmgr_certinfo_x *cert_info)
+ : AbstractParcelable(uid, ParcelableType::CertInfo),
+ cert_info_(cert_info) {}
CertInfoParcelable::~CertInfoParcelable() {
pkgmgrinfo_pkginfo_destroy_certinfo(cert_info_);
std::unique_ptr<AbstractParcelable> CreateParcel();
};
- CertInfoParcelable() = default;
- CertInfoParcelable(pkgmgr_certinfo_x *cert_info);
+ CertInfoParcelable() : cert_info_(nullptr) {}
+ CertInfoParcelable(uid_t uid, pkgmgr_certinfo_x *cert_info);
~CertInfoParcelable();
const pkgmgr_certinfo_x *GetCertInfo();
namespace pkgmgr_common {
namespace parcel {
-FilterParcelable::FilterParcelable(pkgmgrinfo_filter_x *filter, int flag)
- : filter_(filter), flag_(flag) {}
+FilterParcelable::FilterParcelable(uid_t uid, pkgmgrinfo_filter_x *filter,
+ int flag) : AbstractParcelable(uid, ParcelableType::Filter),
+ filter_(filter), flag_(flag) {}
FilterParcelable::~FilterParcelable() {
pkgmgrinfo_pkginfo_filter_destroy(filter_);
std::unique_ptr<AbstractParcelable> CreateParcel();
};
- FilterParcelable() = default;
- FilterParcelable(pkgmgrinfo_filter_x *filter, int flag);
+ FilterParcelable() : uid_(0), filter_(nullptr), flag_(0) {}
+ FilterParcelable(uid_t uid, pkgmgrinfo_filter_x *filter, int flag);
~FilterParcelable();
const pkgmgrinfo_filter_x* GetFilter();
int GetFlag();
STR_EQ(datacontrol_a->trusted, datacontrol_b->trusted);
STR_EQ(datacontrol_a->type, datacontrol_b->type);
INT_EQ(g_list_length(datacontrol_a->privileges)
- , g_list_length(datacontrol_b->privileges))
- return false;
+ , g_list_length(datacontrol_b->privileges));
for (GList *a = datacontrol_a->privileges, *b = datacontrol_b->privileges;
a && b; a = a->next, b = b->next) {
char *privilege_a = reinterpret_cast<char *>(a->data);
STR_EQ(appcontrol_a->uri, appcontrol_b->uri);
STR_EQ(appcontrol_a->visibility, appcontrol_b->visibility);
INT_EQ(g_list_length(appcontrol_a->privileges)
- , g_list_length(appcontrol_b->privileges))
- return false;
+ , g_list_length(appcontrol_b->privileges));
for (GList *a = appcontrol_a->privileges, *b = appcontrol_b->privileges;
a && b; a = a->next, b = b->next) {
char *privilege_a = reinterpret_cast<char *>(a->data);
bool IsEqualFilter(const pkgmgrinfo_filter_x *filterA,
const pkgmgrinfo_filter_x *filterB) {
- std::cout << "asdfasdf" << std::endl;
INT_EQ(filterA->uid, filterB->uid);
- std::cout << "asdfasdf" << std::endl;
INT_EQ(g_slist_length(filterA->list), g_slist_length(filterB->list));
- std::cout << "asdfasdf" << std::endl;
for (GSList *a = filterA->list, *b = filterB->list;
a && b; a = a->next, b = b->next) {
pkgmgrinfo_node_x *node_a = reinterpret_cast<pkgmgrinfo_node_x *>(a->data);
pkgmgrinfo_node_x *node_b = reinterpret_cast<pkgmgrinfo_node_x *>(b->data);
- std::cout << "aaaaa" << std::endl;
INT_EQ(node_a->prop, node_b->prop);
- std::cout << "aaaaa" << std::endl;
STR_EQ(node_a->key, node_b->key);
- std::cout << "aaaaa" << std::endl;
STR_EQ(node_a->value, node_b->value);
}
a && b; a = a->next, b = b->next) {
pkgmgrinfo_metadata_node_x *node_a = reinterpret_cast<pkgmgrinfo_metadata_node_x *>(a->data);
pkgmgrinfo_metadata_node_x *node_b = reinterpret_cast<pkgmgrinfo_metadata_node_x *>(b->data);
- std::cout << "bbbbbb" << std::endl;
STR_EQ(node_a->key, node_b->key);
- std::cout << "bbbbbb" << std::endl;
STR_EQ(node_a->value, node_b->value);
- std::cout << "bbbbbb" << std::endl;
}
}
c_ = strdup(c);
}
- AbstractParcelableTest() : AbstractParcelable() {}
+ AbstractParcelableTest() : AbstractParcelable(),
+ a_(nullptr), b_(nullptr), c_(nullptr) {}
~AbstractParcelableTest() {
if (a_)
pkgmgrinfo_filter_x *filter = GetTestFilter();
int flag = 0b101010;
- pp::FilterParcelable origin_parcelable(filter, flag);
+ pp::FilterParcelable origin_parcelable(0, filter, flag);
pp::FilterParcelable new_parcelable;
parcel.WriteParcelable(origin_parcelable);
parcel.ReadParcelable(&new_parcelable);
tizen_base::Parcel parcel;
pkgmgr_certinfo_x *certinfo = GetTestCertInfo();
- pp::CertInfoParcelable origin_parcelable(certinfo);
+ pp::CertInfoParcelable origin_parcelable(0, certinfo);
pp::CertInfoParcelable new_parcelable;
parcel.WriteParcelable(origin_parcelable);
parcel.ReadParcelable(&new_parcelable);