905c4869e46dd4251e0e4e5bd5e5bcd971184a02
[platform/upstream/libzypp.git] / zypp / source / yum / YUMPackageImpl.h
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/source/yum/YUMPackageImpl.h
10  *
11 */
12 #ifndef ZYPP_SOURCE_YUM_YUMPACKAGEIMPL_H
13 #define ZYPP_SOURCE_YUM_YUMPACKAGEIMPL_H
14
15 #include "zypp/detail/PackageImpl.h"
16 #include "zypp/parser/yum/YUMParserData.h"
17
18 ///////////////////////////////////////////////////////////////////
19 namespace zypp
20 { /////////////////////////////////////////////////////////////////
21   ///////////////////////////////////////////////////////////////////
22   namespace source
23   { /////////////////////////////////////////////////////////////////
24     namespace yum
25     { //////////////////////////////////////////////////////////////
26
27       ///////////////////////////////////////////////////////////////////
28       //
29       //        CLASS NAME : YUMPackageImpl
30       //
31       /** Class representing a package
32       */
33       class YUMPackageImpl : public detail::PackageImplIf
34       {
35       public:
36         /** Default ctor
37         */
38         YUMPackageImpl(
39           const zypp::parser::yum::YUMPrimaryData & parsed,
40           const zypp::parser::yum::YUMFileListData & filelist,
41           const zypp::parser::yum::YUMOtherData & other
42         );
43         YUMPackageImpl(
44           const zypp::parser::yum::YUMPatchPackage & parsed
45         );
46
47         /** Package summary */
48         virtual Label summary() const;
49         /** Package description */
50         virtual Text description() const;
51         virtual Text insnotify() const;
52         virtual Text delnotify() const;
53         virtual FSize size() const;
54         virtual bool providesSources() const;
55         virtual Label instSrcLabel() const;
56         virtual Vendor instSrcVendor() const;
57         /** */
58         virtual Date buildtime() const;
59         /** */
60         virtual std::string buildhost() const;
61         /** */
62         virtual Date installtime() const;
63         /** */
64         virtual std::string distribution() const;
65         /** */
66         virtual Vendor vendor() const;
67         /** */
68         virtual Label license() const;
69         /** */
70         virtual std::string packager() const;
71         /** */
72         virtual PackageGroup group() const;
73         /** */
74         virtual Text changelog() const;
75         /** Don't ship it as class Url, because it might be
76          * in fact anything but a legal Url. */
77         virtual std::string url() const;
78         /** */
79         virtual std::string os() const;
80         /** */
81         virtual Text prein() const;
82         /** */
83         virtual Text postin() const;
84         /** */
85         virtual Text preun() const;
86         /** */
87         virtual Text postun() const;
88         /** */
89         virtual FSize sourcesize() const;
90         /** */
91         virtual FSize archivesize() const;
92         /** */
93         virtual Text authors() const;
94         /** */
95         virtual Text filenames() const;
96         /** */
97         virtual License licenseToConfirm() const;
98         /** */
99         virtual std::string type() const;
100         /** */
101         virtual std::list<std::string> keywords() const;
102         /** */
103         virtual bool installOnly() const;
104         /** */
105         virtual unsigned mediaId() const;
106         /** */
107         virtual PackageImplIf::CheckSum checksum() const;
108         /** */
109         virtual std::list<PackageImplIf::DeltaRpm> deltaRpms() const;
110         /** */
111         virtual std::list<PackageImplIf::PatchRpm> patchRpms() const;
112
113 #if 0
114         /** */
115         virtual std::list<std::string> insnotify() const;
116         /** */
117         virtual std::list<std::string> delnotify() const;
118         /** */
119         virtual unsigned packageSize() const;
120         /** */
121         virtual unsigned installedSize() const;
122         /** */
123         virtual unsigned archiveSize() const;
124         /** */
125         virtual bool providesSources() const;
126         /** */
127         virtual std::string instSrcLabel() const;
128         /** */
129         virtual std::string instSrcVendor() const;
130         /** */
131         virtual unsigned instSrcRank() const;
132         /** */
133         virtual std::string buildhost() const;
134         /** */
135         virtual std::string distribution() const;
136         /** */
137         virtual std::string vendor() const;
138         /** */
139         virtual std::string license() const;
140         /** */
141         virtual std::list<std::string> licenseToConfirm() const;
142         /** */
143         virtual std::string packager() const;
144         /** */
145         virtual std::string group() const;
146         /** */
147         virtual std::list<std::string> changelog() const;
148         /** */
149         virtual std::string url() const;
150         /** */
151         virtual std::string os() const;
152         /** */
153         virtual std::list<std::string> prein() const;
154         /** */
155         virtual std::list<std::string> postin() const;
156         /** */
157         virtual std::list<std::string> preun() const;
158         /** */
159         virtual std::list<std::string> postun() const;
160         /** */
161         virtual std::string sourcepkg() const;
162         /** */
163         virtual std::list<std::string> authors() const;
164         /** */
165         virtual std::list<std::string> filenames() const;
166         /** */
167         virtual std::list<std::string> recommends() const;
168         /** */
169         virtual std::list<std::string> suggests() const;
170         /** */
171         virtual std::string location() const;
172         /** */
173         virtual unsigned int medianr() const;
174         /** */
175         virtual std::string md5sum() const;
176         /** */
177         virtual std::string externalUrl() const;
178         /** */
179         virtual std::list<Edition> patchRpmBaseVersions() const;
180         /** */
181         virtual unsigned patchRpmSize() const;
182         /** */
183         virtual bool forceInstall() const;
184         /** */
185         virtual std::string patchRpmMD5() const;
186         /** */
187         virtual bool isRemote() const;
188         /** */
189         virtual bool prefererCandidate() const;
190 #endif
191       protected:
192         Label _summary;
193         Text _description;
194         Date _buildtime;
195         std::string _buildhost;
196         std::string _url;
197         Vendor _vendor;
198         Label _license;
199         std::string _packager;
200         PackageGroup _group;
201         Text _changelog;
202         std::string _type;
203         License _license_to_confirm;
204         Text _authors;
205         std::list<std::string>_keywords;
206         unsigned _mediaid;
207         PackageImplIf::CheckSum _checksum;
208         Text _filenames;
209         std::string _location;
210         std::list<DeltaRpm> _delta_rpms;
211         std::list<PatchRpm> _patch_rpms;
212
213         bool _install_only;
214 /*
215         unsigned _size_package;
216         unsigned _size_installed;
217         unsigned _size_archive;
218         std::string _sourcepkg;
219         std::list<DirSize> _dir_sizes;
220 */
221 /*
222         std::list<ChangelogEntry> changelog;
223 */
224
225
226        };
227       ///////////////////////////////////////////////////////////////////
228     } // namespace yum
229     /////////////////////////////////////////////////////////////////
230   } // namespace source
231   ///////////////////////////////////////////////////////////////////
232   /////////////////////////////////////////////////////////////////
233 } // namespace zypp
234 ///////////////////////////////////////////////////////////////////
235 #endif // ZYPP_SOURCE_YUM_YUMPACKAGEIMPL_H