00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #include <iostream> 00013 00014 #include "zypp/Capability.h" 00015 #include "zypp/capability/CapabilityImpl.h" 00016 #include "zypp/capability/NullCap.h" 00017 00018 using namespace std; 00019 00021 namespace zypp 00022 { 00023 00024 const Capability Capability::noCap; 00025 00027 // 00028 // METHOD NAME : Capability::Capability 00029 // METHOD TYPE : Ctor 00030 // 00031 Capability::Capability() 00032 : _pimpl( capability::NullCap::instance() ) 00033 {} 00034 00036 // 00037 // METHOD NAME : Capability::Capability 00038 // METHOD TYPE : Ctor 00039 // 00040 Capability::Capability( Impl_Ptr impl_r ) 00041 : _pimpl( impl_r ) 00042 {} 00043 00045 // 00046 // METHOD NAME : Capability::~Capability 00047 // METHOD TYPE : Dtor 00048 // 00049 Capability::~Capability() 00050 {} 00051 00052 const Capability::Kind & Capability::kind() const 00053 { return _pimpl->kind(); } 00054 00055 const Resolvable::Kind & Capability::refers() const 00056 { return _pimpl->refers(); } 00057 00058 bool Capability::relevant() const 00059 { return _pimpl->relevant(); } 00060 00061 CapMatch Capability::matches( const Capability & rhs ) const 00062 { return _pimpl->matches( rhs._pimpl.getPtr() ); } 00063 00064 std::string Capability::asString() const 00065 { return _pimpl->asString(); } 00066 00067 std::string Capability::index() const 00068 { return _pimpl->index(); } 00069 00070 Rel Capability::op() const 00071 { return _pimpl->op(); } 00072 00073 Edition Capability::edition() const 00074 { return _pimpl->edition(); } 00075 00076 /****************************************************************** 00077 ** 00078 ** FUNCTION NAME : operator<< 00079 ** FUNCTION TYPE : std::ostream & 00080 */ 00081 std::ostream & operator<<( std::ostream & str, const Capability & obj ) 00082 { 00083 return str << obj._pimpl; 00084 } 00085 00087 } // namespace zypp