- Assert Resolvable provides its 'name=edition', and prerequires
[platform/upstream/libzypp.git] / zypp / Resolvable.cc
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/Resolvable.cc
10  *
11 */
12 #include <iostream>
13
14 #include "zypp/Resolvable.h"
15 #include "zypp/detail/ResolvableImpl.h"
16
17 using namespace std;
18
19 ///////////////////////////////////////////////////////////////////
20 namespace zypp
21 { /////////////////////////////////////////////////////////////////
22
23   ///////////////////////////////////////////////////////////////////
24   //
25   //    METHOD NAME : Resolvable::Resolvable
26   //    METHOD TYPE : Ctor
27   //
28   Resolvable::Resolvable( const Kind & kind_r,
29                           const NVRAD & nvrad_r )
30   : _pimpl( new Impl( kind_r, nvrad_r ) )
31   {}
32
33   ///////////////////////////////////////////////////////////////////
34   //
35   //    METHOD NAME : Resolvable::~Resolvable
36   //    METHOD TYPE : Dtor
37   //
38   Resolvable::~Resolvable()
39   {}
40
41   ///////////////////////////////////////////////////////////////////
42   //
43   //    METHOD NAME : Resolvable::dumpOn
44   //    METHOD TYPE : std::ostream
45   //
46   std::ostream & Resolvable::dumpOn( std::ostream & str ) const
47   {
48     return str << '[' << kind() << ']'
49     << name() << '-' << edition() << '.' << arch();
50   }
51
52   ///////////////////////////////////////////////////////////////////
53   //
54   //    Resolvable interface forwarded to implementation
55   //
56   ///////////////////////////////////////////////////////////////////
57
58   const Resolvable::Kind & Resolvable::kind() const
59   { return _pimpl->kind(); }
60
61   const std::string & Resolvable::name() const
62   { return _pimpl->name(); }
63
64   const Edition & Resolvable::edition() const
65   { return _pimpl->edition(); }
66
67   const Arch & Resolvable::arch() const
68   { return _pimpl->arch(); }
69
70   const CapSet & Resolvable::provides() const
71   { return _pimpl->deps().provides; }
72
73   const CapSet & Resolvable::prerequires() const
74   { return _pimpl->deps().prerequires; }
75
76   const CapSet & Resolvable::requires() const
77   { return _pimpl->deps().requires; }
78
79   const CapSet & Resolvable::conflicts() const
80   { return _pimpl->deps().conflicts; }
81
82   const CapSet & Resolvable::obsoletes() const
83   { return _pimpl->deps().obsoletes; }
84
85   const CapSet & Resolvable::recommends() const
86   { return _pimpl->deps().recommends; }
87
88   const CapSet & Resolvable::suggests() const
89   { return _pimpl->deps().suggests; }
90
91   const CapSet & Resolvable::freshens() const
92   { return _pimpl->deps().freshens; }
93
94   const Dependencies & Resolvable::deps() const
95   { return _pimpl->deps(); }
96
97
98   void Resolvable::injectProvides( const Capability & cap_r )
99   { return _pimpl->injectProvides( cap_r ); }
100
101   void Resolvable::injectRequires( const Capability & cap_r )
102   { return _pimpl->injectRequires( cap_r ); }
103
104
105   void Resolvable::deprecatedSetDeps( const Dependencies & val_r )
106   { _pimpl->deprecatedSetDeps( val_r ); }
107
108   /////////////////////////////////////////////////////////////////
109 } // namespace zypp
110 ///////////////////////////////////////////////////////////////////