1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/target/rpm/RPMPackageImpl.cc
13 #include "zypp/target/rpm/RpmPackageImpl.h"
14 #include "zypp/base/String.h"
15 #include "zypp/base/Logger.h"
21 using namespace zypp::detail;
23 ///////////////////////////////////////////////////////////////////
25 { /////////////////////////////////////////////////////////////////
26 ///////////////////////////////////////////////////////////////////
28 { /////////////////////////////////////////////////////////////////
31 ///////////////////////////////////////////////////////////////////
33 // CLASS NAME : RPMPackageImpl
35 ///////////////////////////////////////////////////////////////////
38 RPMPackageImpl::RPMPackageImpl(
39 const RpmHeader::constPtr data
41 : _summary(data->tag_summary()),
43 _buildtime(data->tag_buildtime()),
44 _buildhost(data->tag_buildhost()),
45 _url(data->tag_url()),
46 _vendor(data->tag_vendor()),
47 _license(data->tag_license()),
48 _packager(data->tag_packager()),
49 _group(data->tag_group()),
50 _changelog(data->tag_changelog()),
51 _type("rpm"), // FIXME in the future
52 // _authors(data->authors),
53 // _keywords(data->keywords),
54 _filenames(data->tag_filenames())
56 : _size_package( strtol(parsed.sizePackage.c_str(), 0, 10)),
57 _size_archive( strtol(parsed.sizeArchive.c_str(), 0, 10)),
58 _size_installed( strtol(parsed.sizeInstalled.c_str(), 0, 10)),
59 _sourcepkg( parsed.sourcerpm),
60 _dir_sizes(parsed.dirSizes),
63 _description.push_back(data->tag_description());
64 data->tag_du(_disk_usage);
68 /** Package summary */
69 Label RPMPackageImpl::summary() const
72 /** Package description */
73 Text RPMPackageImpl::description() const
74 { return _description; }
76 Text RPMPackageImpl::insnotify() const
77 // metadata doesn't priovide this attribute
78 { return ResObjectImplIf::insnotify(); }
80 Text RPMPackageImpl::delnotify() const
81 // metadata doesn't priovide this attribute
82 { return ResObjectImplIf::delnotify(); }
84 ByteCount RPMPackageImpl::size() const
87 bool RPMPackageImpl::providesSources() const
88 { return ResObjectImplIf::providesSources(); }
90 Label RPMPackageImpl::instSrcLabel() const
91 { return ResObjectImplIf::instSrcLabel(); }
93 Vendor RPMPackageImpl::instSrcVendor() const
94 { return ResObjectImplIf::instSrcVendor(); }
97 Date RPMPackageImpl::buildtime() const
98 { return _buildtime; }
101 std::string RPMPackageImpl::buildhost() const
102 { return _buildhost; }
105 Date RPMPackageImpl::installtime() const
106 { return PackageImplIf::installtime(); }
109 std::string RPMPackageImpl::distribution() const
113 Vendor RPMPackageImpl::vendor() const
117 Label RPMPackageImpl::license() const
121 std::string RPMPackageImpl::packager() const
122 { return _packager; }
125 PackageGroup RPMPackageImpl::group() const
129 Changelog RPMPackageImpl::changelog() const
130 { return _changelog; }
132 /** Don't ship it as class Url, because it might be
133 * in fact anything but a legal Url. */
134 std::string RPMPackageImpl::url() const
138 std::string RPMPackageImpl::os() const
139 // metadata doesn't priovide this attribute
140 { return PackageImplIf::os(); }
143 Text RPMPackageImpl::prein() const
144 // metadata doesn't priovide this attribute
145 { return PackageImplIf::prein(); }
148 Text RPMPackageImpl::postin() const
149 // metadata doesn't priovide this attribute
150 { return PackageImplIf::postin(); }
153 Text RPMPackageImpl::preun() const
154 // metadata doesn't priovide this attribute
155 { return PackageImplIf::preun(); }
158 Text RPMPackageImpl::postun() const
159 // metadata doesn't priovide this attribute
160 { return PackageImplIf::postun(); }
163 ByteCount RPMPackageImpl::sourcesize() const
167 ByteCount RPMPackageImpl::archivesize() const
171 Text RPMPackageImpl::authors() const
175 Text RPMPackageImpl::filenames() const
176 { return _filenames; }
178 License RPMPackageImpl::licenseToConfirm() const
179 { return _license_to_confirm; }
182 std::string RPMPackageImpl::type() const
186 std::list<std::string> RPMPackageImpl::keywords() const
187 { return _keywords; }
190 DiskUsage RPMPackageImpl::diskUsage() const
191 { return _disk_usage; }
194 std::list<std::string> RPMPackageImpl::insnotify() const
195 { return std::list<std::string>(); }
197 std::list<std::string> RPMPackageImpl::delnotify() const
198 { return std::list<std::string>(); }
200 unsigned RPMPackageImpl::packageSize() const
201 { return _size_package; }
203 unsigned RPMPackageImpl::archiveSize() const
204 { return _size_archive; }
206 unsigned RPMPackageImpl::installedSize() const
207 { return _size_installed; }
208 // FIXME do not understand items below
210 bool RPMPackageImpl::providesSources() const
215 std::string RPMPackageImpl::instSrcLabel() const
220 std::string RPMPackageImpl::instSrcVendor() const
225 unsigned RPMPackageImpl::instSrcRank() const
230 std::string RPMPackageImpl::buildhost() const
235 std::string RPMPackageImpl::distribution() const
240 std::string RPMPackageImpl::vendor() const
245 std::string RPMPackageImpl::license() const
250 std::list<std::string> RPMPackageImpl::licenseToConfirm() const
252 return std::list<std::string>();
255 std::string RPMPackageImpl::packager() const
260 std::string RPMPackageImpl::group() const
265 std::list<std::string> RPMPackageImpl::changelog() const
268 std::string RPMPackageImpl::url() const
273 std::string RPMPackageImpl::os() const
276 std::list<std::string> RPMPackageImpl::prein() const
279 std::list<std::string> RPMPackageImpl::postin() const
282 std::list<std::string> RPMPackageImpl::preun() const
285 std::list<std::string> RPMPackageImpl::postun() const
288 std::string RPMPackageImpl::sourcepkg() const
289 { return _sourcepkg; }
291 std::list<std::string> RPMPackageImpl::authors() const
294 std::list<std::string> RPMPackageImpl::filenames() const
297 std::list<std::string> RPMPackageImpl::recommends() const
300 std::list<std::string> RPMPackageImpl::suggests() const
303 std::string RPMPackageImpl::location() const
306 std::string RPMPackageImpl::md5sum() const
309 std::string RPMPackageImpl::externalUrl() const
312 std::list<Edition> RPMPackageImpl::patchRpmBaseVersions() const
315 unsigned RPMPackageImpl::patchRpmSize() const
318 bool RPMPackageImpl::forceInstall() const
321 std::string RPMPackageImpl::patchRpmMD5() const
324 bool RPMPackageImpl::isRemote() const
327 bool RPMPackageImpl::prefererCandidate() const
333 /////////////////////////////////////////////////////////////////
334 } // namespace target
335 ///////////////////////////////////////////////////////////////////
336 /////////////////////////////////////////////////////////////////
338 ///////////////////////////////////////////////////////////////////