1 #ifndef PKGINFO_PARCELABLE_HH_
2 #define PKGINFO_PARCELABLE_HH_
4 #include "abstract_parcelable.hh"
8 #include "pkgmgrinfo_basic.h"
10 #include "pkg_write_type.hh"
12 namespace pkgmgr_common {
16 #define EXPORT_API __attribute__((visibility("default")))
19 class EXPORT_API PkgInfoParcelable : public AbstractParcelable {
22 PkgInfoParcelable(uid_t uid, std::vector<package_x *>&& pkg_list, PkgWriteType write_type, bool auto_release = true);
23 PkgInfoParcelable(int ret, std::vector<package_x *>&& pkg_list, bool auto_release = true);
25 const std::vector<package_x *>& GetPkgInfo();
26 std::vector<package_x *> ExtractPkgInfo();
27 PkgWriteType GetWriteType();
29 void WriteToParcel(tizen_base::Parcel* parcel) const override;
30 void ReadFromParcel(tizen_base::Parcel* parcel) override;
33 void WriteIcon(tizen_base::Parcel* parcel, GList* icon) const;
34 void WriteLabel(tizen_base::Parcel* parcel, GList* label) const;
35 void WriteAuthor(tizen_base::Parcel* parcel, GList* author) const;
36 void WriteDescription(tizen_base::Parcel* parcel, GList* description) const;
37 void WriteLicense(tizen_base::Parcel* parcel, GList* license) const;
38 void WritePrivileges(tizen_base::Parcel* parcel, GList* privileges) const;
39 void WriteAppdefinedPrivileges(tizen_base::Parcel* parcel, GList* appdefined_privileges) const;
40 void WriteProvidesAppdefinedPrivileges(tizen_base::Parcel* parcel, GList* provides_appdefined_privileges) const;
41 void WriteApplication(tizen_base::Parcel* parcel, GList* application) const;
42 void WriteCompatibility(tizen_base::Parcel* parcel, GList* compatibility) const;
43 void WriteDeviceprofile(tizen_base::Parcel* parcel, GList* deviceprofile) const;
44 void WriteDependencies(tizen_base::Parcel* parcel, GList* dependencies) const;
45 void WritePlugin(tizen_base::Parcel* parcel, GList* plugin) const;
46 void WritePackage(tizen_base::Parcel* parcel, package_x *package) const;
47 void ReadIcon(tizen_base::Parcel* parcel, GList** list);
48 void ReadLabel(tizen_base::Parcel* parcel, GList** list);
49 void ReadAuthor(tizen_base::Parcel* parcel, GList** list);
50 void ReadDescription(tizen_base::Parcel* parcel, GList** list);
51 void ReadLicense(tizen_base::Parcel* parcel, GList** list);
52 void ReadPrivileges(tizen_base::Parcel* parcel, GList** list);
53 void ReadAppdefinedPrivileges(tizen_base::Parcel* parcel, GList** list);
54 void ReadProvidesAppdefinedPrivileges(tizen_base::Parcel* parcel, GList** list);
55 void ReadApplication(tizen_base::Parcel* parcel, GList** list);
56 void ReadCompatibility(tizen_base::Parcel* parcel, GList** list);
57 void ReadDeviceprofile(tizen_base::Parcel* parcel, GList** list);
58 void ReadDependencies(tizen_base::Parcel* parcel, GList** list);
59 void ReadPlugin(tizen_base::Parcel* parcel, GList** list);
60 package_x *ReadPackage(tizen_base::Parcel* parcel);
62 std::vector<package_x *> pkg_list_;
63 PkgWriteType write_type_;
68 } // namespace pkgmgr_common
70 #endif // PKGINFO_PARCELABLE_HH_