1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/ResObject.cc
13 #include "zypp/ResObject.h"
14 #include "zypp/sat/SolvAttr.h"
15 #include "zypp/sat/Solvable.h"
16 #include "zypp/Repository.h"
17 #include "zypp/RepoInfo.h"
18 #include "zypp/IdString.h"
23 ///////////////////////////////////////////////////////////////////
25 { /////////////////////////////////////////////////////////////////
27 IMPL_PTR_TYPE(ResObject);
29 ///////////////////////////////////////////////////////////////////
31 // METHOD NAME : ResObject::ResObject
34 ResObject::ResObject( const sat::Solvable & solvable_r )
35 : Resolvable( solvable_r )
38 ///////////////////////////////////////////////////////////////////
40 // METHOD NAME : ResObject::~ResObject
43 ResObject::~ResObject()
46 ///////////////////////////////////////////////////////////////////
48 // METHOD NAME : ResObject::dumpOn
49 // METHOD TYPE : std::ostream &
51 std::ostream & ResObject::dumpOn( std::ostream & str ) const
53 return Resolvable::dumpOn( str );
56 ///////////////////////////////////////////////////////////////////
58 std::string ResObject::summary( const Locale & lang_r ) const
59 { return lookupStrAttribute( sat::SolvAttr::summary, lang_r ); }
61 std::string ResObject::description( const Locale & lang_r ) const
62 { return lookupStrAttribute( sat::SolvAttr::description, lang_r ); }
64 std::string ResObject::insnotify( const Locale & lang_r ) const
65 { return lookupStrAttribute( sat::SolvAttr::insnotify, lang_r ); }
67 std::string ResObject::delnotify( const Locale & lang_r ) const
68 { return lookupStrAttribute( sat::SolvAttr::delnotify, lang_r ); }
70 std::string ResObject::licenseToConfirm( const Locale & lang_r ) const
72 std::string ret = lookupStrAttribute( sat::SolvAttr::eula, lang_r );
73 if ( ret.empty() && isKind<Product>() )
74 return repoInfo().getLicense( lang_r );
78 std::string ResObject::distribution() const
79 { return lookupStrAttribute( sat::SolvAttr::distribution ); }
81 std::string ResObject::cpeId() const
82 { return lookupStrAttribute( sat::SolvAttr::cpeid ); }
84 ByteCount ResObject::installSize() const
85 { return ByteCount( lookupNumAttribute( sat::SolvAttr::installsize ), ByteCount::K ); }
87 ByteCount ResObject::downloadSize() const
88 { return ByteCount( lookupNumAttribute( sat::SolvAttr::downloadsize ), ByteCount::K ); }
90 unsigned ResObject::mediaNr() const
91 { return lookupNumAttribute( sat::SolvAttr::medianr ); }
93 Date ResObject::buildtime() const
94 { return Date( lookupNumAttribute( sat::SolvAttr::buildtime ) ); }
96 Date ResObject::installtime() const
97 { return Date( lookupNumAttribute( sat::SolvAttr::installtime ) ); }
99 #warning DUMMY diskusage
100 const DiskUsage & ResObject::diskusage() const
102 static DiskUsage _du;
106 /////////////////////////////////////////////////////////////////
108 ///////////////////////////////////////////////////////////////////
110 #include "zypp/ResObjects.h"
112 ///////////////////////////////////////////////////////////////////
114 { /////////////////////////////////////////////////////////////////
116 ResObject::Ptr makeResObject( const sat::Solvable & solvable_r )
121 ResKind kind( solvable_r.kind() );
122 #define OUTS(X) if ( kind == ResTraits<X>::kind ) return make<X>( solvable_r );
129 // unknow => return a plain ResObject
130 return new ResObject( solvable_r );
133 /////////////////////////////////////////////////////////////////
135 ///////////////////////////////////////////////////////////////////