1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/Capability.cc
14 #include "zypp/Capability.h"
15 #include "zypp/capability/CapabilityImpl.h"
16 #include "zypp/capability/NullCap.h"
20 ///////////////////////////////////////////////////////////////////
22 { /////////////////////////////////////////////////////////////////
24 ///////////////////////////////////////////////////////////////////
26 // METHOD NAME : Capability::Capability
29 Capability::Capability()
30 : _pimpl( capability::NullCap::instance() )
33 ///////////////////////////////////////////////////////////////////
35 // METHOD NAME : Capability::Capability
38 Capability::Capability( Impl_Ptr impl_r )
42 ///////////////////////////////////////////////////////////////////
44 // METHOD NAME : Capability::~Capability
47 Capability::~Capability()
50 const Resolvable::Kind & Capability::refers() const
51 { return _pimpl->refers(); }
53 bool Capability::relevant() const
54 { return _pimpl->relevant(); }
56 CapMatch Capability::matches( const Capability & rhs ) const
57 { return _pimpl->matches( rhs._pimpl.getPtr() ); }
59 std::string Capability::asString() const
60 { return _pimpl->asString(); }
62 /** \bug How is this supposed to work? What's the name of
63 * an OR capability or a Conditiona or a Split?
65 std::string Capability::name() const
66 { return "CapabilityName"; }//return _pimpl->name(); }
68 /******************************************************************
70 ** FUNCTION NAME : operator<<
71 ** FUNCTION TYPE : std::ostream &
73 std::ostream & operator<<( std::ostream & str, const Capability & obj )
75 return str << obj._pimpl;
78 /////////////////////////////////////////////////////////////////
80 ///////////////////////////////////////////////////////////////////