00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #include "zypp/capability/SplitCap.h" 00013 00014 using namespace std; 00015 00017 namespace zypp 00018 { 00019 00020 namespace capability 00021 { 00022 00023 const CapabilityImpl::Kind & SplitCap::kind() const 00024 { return CapTraits<Self>::kind; } 00025 00026 CapMatch SplitCap::matches( const constPtr & rhs ) const 00027 { 00028 return CapMatch::irrelevant; 00029 } 00030 00031 std::string SplitCap::encode() const 00032 { return _name + ":" + _path; } 00033 00035 // CLASS NAME : CapabilityImpl 00037 00038 CapabilityImpl::SplitInfo CapabilityImpl::getSplitInfo( const Capability & cap ) 00039 { 00040 SplitInfo ret; 00041 intrusive_ptr<const SplitCap> splitPtr( asKind<SplitCap>( cap._pimpl.getPtr() ) ); 00042 if ( splitPtr ) 00043 { 00044 ret.name = splitPtr->name(); 00045 ret.path = splitPtr->path(); 00046 } 00047 return ret; 00048 } 00050 } // namespace capability 00053 } // namespace zypp