zypp::Capability Class Reference

Resolvable capabilitiy. More...

#include <Capability.h>

List of all members.

Public Types

typedef capability::CapabilityTraits::KindType Kind

Public Member Functions

 Capability ()
 DefaultCtor creating noCap.
virtual ~Capability ()
 Dtor.
const Kindkind () const
 Kind of Capability.
const Resolvable::Kindrefers () const
 Kind of Resolvable the Capability refers to.
bool relevant () const
 Whether to consider this Capability.
CapMatch matches (const Capability &rhs) const
 Return whether the Capabilities match.
std::string asString () const
 More or less human readable representation as string.
std::string index () const
 Deprecated.
Rel op () const
 Deprecated, defaults to Rel::NONE.
Edition edition () const
 Deprecated, defaults to Edition::noedition.

Static Public Attributes

static const Capability noCap
 Constant representing no Capabiliy.

Private Types

typedef capability::CapabilityImpl Impl
typedef capability::CapabilityImpl_Ptr Impl_Ptr
typedef capability::CapabilityImpl_constPtr Impl_constPtr

Private Member Functions

 Capability (Impl_Ptr impl_r)
 Factory ctor.

Private Attributes

RW_pointer< Impl, rw_pointer::Intrusive<
Impl > > 
_pimpl
 Pointer to implementation.

Friends

class CapOrder
 Ordering for use in CapSet.
class CapFactory
 Factory.
class capability::CapabilityImpl
bool operator== (const Capability &lhs, const Capability &rhs)
std::ostream & operator<< (std::ostream &str, const Capability &obj)

Related Functions

(Note that these are not member functions.)

bool operator!= (const Capability &lhs, const Capability &rhs)


Detailed Description

Resolvable capabilitiy.

Capability is created by a Factory class. Only a default ctor creating a dummy capability is provided.

   Capability cap;
   try
     {
       cap = CapFactory().parse( ResTraits<Patch>::kind,
                                 parsed.name,
                                 parsed.op,
                                 Edition( parsed.ver,
                                          parsed.rel,
                                          parsed.epoch ) );
     }
   catch ( Exception & excpt_r )
     {
       ERR << excpt_r << endl;
       ... Or maybe just WAR, or ?
     }
See also:
CapFactory: Factory creating Capability.
Invariant:
Nonzero _pimpl

Unified _pimpl asserted by CapFactory.

Todo:
Need a trival return from matches. E.g. Conditional cpabilities must be able to indicate that they should be treated as if they were not present at all, if the precondition does no apply. Same for the defaut Capability.

Definition at line 71 of file Capability.h.


Member Typedef Documentation

typedef capability::CapabilityTraits::KindType zypp::Capability::Kind
 

Definition at line 80 of file Capability.h.

typedef capability::CapabilityImpl zypp::Capability::Impl [private]
 

Definition at line 127 of file Capability.h.

typedef capability::CapabilityImpl_Ptr zypp::Capability::Impl_Ptr [private]
 

Definition at line 128 of file Capability.h.

typedef capability::CapabilityImpl_constPtr zypp::Capability::Impl_constPtr [private]
 

Definition at line 129 of file Capability.h.


Constructor & Destructor Documentation

zypp::Capability::Capability  ) 
 

DefaultCtor creating noCap.

Definition at line 31 of file Capability.cc.

zypp::Capability::~Capability  )  [virtual]
 

Dtor.

Definition at line 49 of file Capability.cc.

zypp::Capability::Capability Impl_Ptr  impl_r  )  [explicit, private]
 

Factory ctor.

Definition at line 40 of file Capability.cc.


Member Function Documentation

const Capability::Kind & zypp::Capability::kind  )  const
 

Kind of Capability.

Definition at line 52 of file Capability.cc.

References _pimpl.

Referenced by zypp::isKind().

const Resolvable::Kind & zypp::Capability::refers  )  const
 

Kind of Resolvable the Capability refers to.

Definition at line 55 of file Capability.cc.

References _pimpl.

Referenced by zypp::capfilter::ByRefers::operator()(), and zypp::storage::toXML().

bool zypp::Capability::relevant  )  const
 

Whether to consider this Capability.

Evaluates the Capabilities pre-condition (if any), and returns whether the condition applies. If not, the Capability is to be ignored.

Definition at line 58 of file Capability.cc.

References _pimpl.

CapMatch zypp::Capability::matches const Capability rhs  )  const
 

Return whether the Capabilities match.

If either Capability is not relevant, CapMatch::irrelevant is returned.

Definition at line 61 of file Capability.cc.

References _pimpl, and zypp::RW_pointer< _D, _Traits >::getPtr().

Referenced by zypp::solver::detail::ConflictProcess::operator()(), zypp::resfilter::ByCapMatch::operator()(), and zypp::capfilter::ByCapMatch::operator()().

std::string zypp::Capability::asString  )  const
 

More or less human readable representation as string.

Definition at line 64 of file Capability.cc.

References _pimpl.

Referenced by zypp::solver::detail::ResolverInfoMissingReq::message(), and zypp::solver::detail::ResolverInfo::toString().

std::string zypp::Capability::index  )  const
 

Deprecated.

Definition at line 67 of file Capability.cc.

References _pimpl.

Referenced by zypp::solver::detail::FindIandU::operator()(), zypp::capfilter::ByIndex::operator()(), zypp::solver::detail::ResolverContext::requirementIsMet(), and zypp::solver::detail::ResolverContext::requirementIsPossible().

Rel zypp::Capability::op  )  const
 

Deprecated, defaults to Rel::NONE.

Definition at line 70 of file Capability.cc.

References _pimpl.

Edition zypp::Capability::edition  )  const
 

Deprecated, defaults to Edition::noedition.

Definition at line 73 of file Capability.cc.

References _pimpl.


Friends And Related Function Documentation

friend class CapOrder [friend]
 

Ordering for use in CapSet.

Definition at line 74 of file Capability.h.

friend class CapFactory [friend]
 

Factory.

Definition at line 132 of file Capability.h.

friend class capability::CapabilityImpl [friend]
 

Definition at line 140 of file Capability.h.

bool operator== const Capability lhs,
const Capability rhs
[friend]
 

Definition at line 162 of file Capability.h.

std::ostream & operator<< std::ostream &  str,
const Capability obj
[friend]
 

Stream output

Definition at line 81 of file Capability.cc.

bool operator!= const Capability lhs,
const Capability rhs
[related]
 

Definition at line 166 of file Capability.h.


Member Data Documentation

const Capability zypp::Capability::noCap [static]
 

Constant representing no Capabiliy.

It refers to no kind of Resolvable, and matches returns returns CapMatch::irrelevant.

Definition at line 93 of file Capability.h.

Referenced by zypp::solver::detail::QueueItemUninstall::dumpOn(), zypp::solver::detail::RequirementMet::operator()(), and zypp::solver::detail::ResolverContext::requirementIsMet().

RW_pointer<Impl,rw_pointer::Intrusive<Impl> > zypp::Capability::_pimpl [private]
 

Pointer to implementation.

Definition at line 142 of file Capability.h.

Referenced by asString(), zypp::capability::CapabilityImpl::backdoor(), edition(), zypp::CapFactory::encode(), zypp::capability::CapabilityImpl::getSplitInfo(), index(), kind(), matches(), op(), zypp::CapOrder::operator()(), zypp::operator<<(), refers(), and relevant().


The documentation for this class was generated from the following files:
Generated on Thu Jul 6 00:07:30 2006 for zypp by  doxygen 1.4.6