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