libzypp  12.16.5
ResObject.cc
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
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"
19 
20 using namespace zypp;
21 using namespace std;
22 
24 namespace zypp
25 {
26 
28 
30  //
31  // METHOD NAME : ResObject::ResObject
32  // METHOD TYPE : Ctor
33  //
34  ResObject::ResObject( const sat::Solvable & solvable_r )
35  : Resolvable( solvable_r )
36  {}
37 
39  //
40  // METHOD NAME : ResObject::~ResObject
41  // METHOD TYPE : Dtor
42  //
44  {}
45 
47  //
48  // METHOD NAME : ResObject::dumpOn
49  // METHOD TYPE : std::ostream &
50  //
51  std::ostream & ResObject::dumpOn( std::ostream & str ) const
52  {
53  return Resolvable::dumpOn( str );
54  }
55 
57 
58  std::string ResObject::summary( const Locale & lang_r ) const
59  { return lookupStrAttribute( sat::SolvAttr::summary, lang_r ); }
60 
61  std::string ResObject::description( const Locale & lang_r ) const
62  { return lookupStrAttribute( sat::SolvAttr::description, lang_r ); }
63 
64  std::string ResObject::insnotify( const Locale & lang_r ) const
65  { return lookupStrAttribute( sat::SolvAttr::insnotify, lang_r ); }
66 
67  std::string ResObject::delnotify( const Locale & lang_r ) const
68  { return lookupStrAttribute( sat::SolvAttr::delnotify, lang_r ); }
69 
70  std::string ResObject::licenseToConfirm( const Locale & lang_r ) const
71  {
72  std::string ret = lookupStrAttribute( sat::SolvAttr::eula, lang_r );
73  if ( ret.empty() && isKind<Product>() )
74  return repoInfo().getLicense( lang_r );
75  return ret;
76  }
77 
79  {
80  if ( isKind<Product>() )
81  return repoInfo().needToAcceptLicense( );
82  return true;
83  }
84 
85  std::string ResObject::distribution() const
87 
88  std::string ResObject::cpeId() const
90 
93 
96 
97  unsigned ResObject::mediaNr() const
99 
102 
105 
106 #warning DUMMY diskusage
108  {
109  static DiskUsage _du;
110  return _du;
111  }
112 
114 } // namespace zypp
116 
117 #include "zypp/ResObjects.h"
118 
120 namespace zypp
121 {
122 
124  {
125  if ( ! solvable_r )
126  return 0;
127 
128  ResKind kind( solvable_r.kind() );
129 #define OUTS(X) if ( kind == ResTraits<X>::kind ) return make<X>( solvable_r );
130  OUTS( Package );
131  OUTS( Patch );
132  OUTS( Pattern );
133  OUTS( Product );
134  OUTS( SrcPackage );
135 #undef OUTS
136  // unknow => return a plain ResObject
137  return new ResObject( solvable_r );
138  }
139 
141 } // namespace zypp