1 #ifndef PKGINFO_PARCELABLE_HH_
2 #define PKGINFO_PARCELABLE_HH_
4 #include "abstract_parcelable.hh"
8 #include "pkgmgrinfo_basic.h"
10 namespace pkgmgr_common {
14 #define EXPORT_API __attribute__((visibility("default")))
17 class EXPORT_API PkgInfoParcelable : public AbstractParcelable {
19 class EXPORT_API Factory : IFactory {
21 std::unique_ptr<AbstractParcelable> CreateParcel();
25 PkgInfoParcelable(std::vector<package_x *>&& pkg_list);
27 const std::vector<package_x *>& GetPkgInfo();
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_;
66 } // namespace pkgmgr_common
68 #endif // PKGINFO_PARCELABLE_HH_