Adjust diskusage to be a ResObject attribute. Overloaded in
[platform/upstream/libzypp.git] / zypp / target / rpm / RpmPackageImpl.cc
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/target/rpm/RpmPackageImpl.cc
10  *
11 */
12
13 #include "zypp/target/rpm/RpmPackageImpl.h"
14 #include "zypp/base/String.h"
15 #include "zypp/base/Logger.h"
16
17 #include <list>
18 #include <string>
19
20 using namespace std;
21 using namespace zypp::detail;
22
23 ///////////////////////////////////////////////////////////////////
24 namespace zypp
25 { /////////////////////////////////////////////////////////////////
26 ///////////////////////////////////////////////////////////////////
27 namespace target
28 { /////////////////////////////////////////////////////////////////
29 namespace rpm
30 {
31 ///////////////////////////////////////////////////////////////////
32 //
33 //        CLASS NAME : RPMPackageImpl
34 //
35 ///////////////////////////////////////////////////////////////////
36
37
38 RPMPackageImpl::RPMPackageImpl(
39   const RpmHeader::constPtr data
40 )
41     : _summary(data->tag_summary(), Locale("en")),
42     _description(),
43     _buildtime(data->tag_buildtime()),
44     _installtime(data->tag_installtime()),
45     _buildhost(data->tag_buildhost()),
46     _url(data->tag_url()),
47     _vendor(data->tag_vendor()),
48     _license(data->tag_license()),
49     _packager(data->tag_packager()),
50     _group(data->tag_group()),
51     _changelog(data->tag_changelog()),
52     _type("rpm"), // FIXME in the future
53     _filenames(data->tag_filenames()),
54     _size(data->tag_size())
55 {
56   // we know we are reading english.
57   _description.setText(data->tag_description(), Locale("en"));
58   data->tag_du(_disk_usage);
59   _location.setDownloadSize(data->tag_archivesize());
60 }
61
62 /** Package summary */
63 TranslatedText RPMPackageImpl::summary() const
64 {
65   return _summary;
66 }
67
68 /** Package description */
69 TranslatedText RPMPackageImpl::description() const
70 {
71   return _description;
72 }
73
74 ByteCount RPMPackageImpl::size() const
75 {
76   return _size;
77 }
78
79 /** */
80 Date RPMPackageImpl::buildtime() const
81 {
82   return _buildtime;
83 }
84
85 /** */
86 std::string RPMPackageImpl::buildhost() const
87 {
88   return _buildhost;
89 }
90
91 /** */
92 Date RPMPackageImpl::installtime() const
93 {
94   return _installtime;
95 }
96
97 /** */
98 std::string RPMPackageImpl::distribution() const
99 #warning fixme
100 {
101   return string();
102 }
103
104 /** */
105 Vendor RPMPackageImpl::vendor() const
106 {
107   return _vendor;
108 }
109
110 /** */
111 Label RPMPackageImpl::license() const
112 {
113   return _license;
114 }
115
116 /** */
117 std::string RPMPackageImpl::packager() const
118 {
119   return _packager;
120 }
121
122 /** */
123 PackageGroup RPMPackageImpl::group() const
124 {
125   return _group;
126 }
127
128 /** */
129 Changelog RPMPackageImpl::changelog() const
130 {
131   return _changelog;
132 }
133
134 /** */
135 OnMediaLocation RPMPackageImpl::location() const
136 {
137   return _location;
138 }
139
140 /** Don't ship it as class Url, because it might be
141  * in fact anything but a legal Url. */
142 std::string RPMPackageImpl::url() const
143 {
144   return _url;
145 }
146
147 /** */
148 std::string RPMPackageImpl::os() const
149 // metadata doesn't priovide this attribute
150 {
151   return PackageImplIf::os();
152 }
153
154 /** */
155 Text RPMPackageImpl::prein() const
156 // metadata doesn't priovide this attribute
157 {
158   return PackageImplIf::prein();
159 }
160
161 /** */
162 Text RPMPackageImpl::postin() const
163 // metadata doesn't priovide this attribute
164 {
165   return PackageImplIf::postin();
166 }
167
168 /** */
169 Text RPMPackageImpl::preun() const
170 // metadata doesn't priovide this attribute
171 {
172   return PackageImplIf::preun();
173 }
174
175 /** */
176 Text RPMPackageImpl::postun() const
177 // metadata doesn't priovide this attribute
178 {
179   return PackageImplIf::postun();
180 }
181
182 /** */
183 ByteCount RPMPackageImpl::sourcesize() const
184 #warning fixme
185 {
186   return 0;
187 }
188
189 /** */
190 std::list<std::string> RPMPackageImpl::filenames() const
191 {
192   return _filenames;
193 }
194
195 /** */
196 std::string RPMPackageImpl::type() const
197 {
198   return _type;
199 }
200
201 /** */
202 const DiskUsage & RPMPackageImpl::diskUsage() const
203 {
204   return _disk_usage;
205 }
206
207 /** */
208 Repository RPMPackageImpl::repository() const
209 {
210   return _repository;
211 }
212
213 } // namespace rpm
214 /////////////////////////////////////////////////////////////////
215 } // namespace target
216 ///////////////////////////////////////////////////////////////////
217 /////////////////////////////////////////////////////////////////
218 } // namespace zypp
219 ///////////////////////////////////////////////////////////////////