- Added helper struct NVR (name,edition(version,relase))
[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
95   const Dependencies & Resolvable::deps() const
96   { return _pimpl->deps(); }
97
98   void Resolvable::setDeps( const Dependencies & val_r )
99   { _pimpl->setDeps( val_r ); }
100
101   /////////////////////////////////////////////////////////////////
102 } // namespace zypp
103 ///////////////////////////////////////////////////////////////////