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