zypp::capability::CapabilityImpl Class Reference

Abstract base for Capability implementations. More...

#include <CapabilityImpl.h>

Inheritance diagram for zypp::capability::CapabilityImpl:

zypp::base::ReferenceCounted NonCopyable zypp::capability::FileCap zypp::capability::HalCap zypp::capability::ModaliasCap zypp::capability::NamedCap zypp::capability::NullCap zypp::capability::SplitCap zypp::capability::VersionedCap List of all members.

Public Types

typedef CapabilityImpl Self
typedef CapabilityImpl_Ptr Ptr
typedef CapabilityImpl_constPtr constPtr
typedef CapabilityTraits::KindType Kind

Public Member Functions

virtual const Kindkind () const =0
 Kind of capabiliy.
const Resolvable::Kindrefers () const
 Kind of Resolvable this refers to.
virtual bool relevant () const
 Relevant per default.
virtual CapMatch matches (const constPtr &rhs) const =0
 Return whether the Capabilities match.
virtual std::string encode () const =0
 The string representation that enables CapFactory to recreate this capability.
virtual std::string asString () const
 More or less human readable representation as string.
virtual std::string index () const
virtual Rel op () const
virtual Edition edition () const

Static Public Member Functions

static SplitInfo getSplitInfo (const Capability &cap)
 Solver hack.
static constPtr backdoor (const Capability &cap)
 Access to Capability details.

Protected Member Functions

 CapabilityImpl (const Resolvable::Kind &refers_r)
 Ctor taking the kind of Resolvable this refers to.
bool sameKind (const constPtr &rhs) const
bool sameRefers (const constPtr &rhs) const
bool sameKindAndRefers (const constPtr &rhs) const
virtual std::ostream & dumpOn (std::ostream &str) const
 Helper for stream output.

Private Member Functions

virtual bool capImplOrderLess (const constPtr &rhs) const
 Helper for CapImplOrder to define an order relation.

Private Attributes

Resolvable::Kind _refers
 Kind of Resolvable this refers to.

Friends

struct CapImplOrder

Classes

struct  SplitInfo
 Solver hack. More...

Detailed Description

Abstract base for Capability implementations.

Definition at line 36 of file CapabilityImpl.h.


Member Typedef Documentation

typedef CapabilityImpl zypp::capability::CapabilityImpl::Self
 

Reimplemented in zypp::capability::FileCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, zypp::capability::NullCap, and zypp::capability::SplitCap.

Definition at line 39 of file CapabilityImpl.h.

typedef CapabilityImpl_Ptr zypp::capability::CapabilityImpl::Ptr
 

Definition at line 40 of file CapabilityImpl.h.

typedef CapabilityImpl_constPtr zypp::capability::CapabilityImpl::constPtr
 

Definition at line 41 of file CapabilityImpl.h.

typedef CapabilityTraits::KindType zypp::capability::CapabilityImpl::Kind
 

Definition at line 43 of file CapabilityImpl.h.


Constructor & Destructor Documentation

zypp::capability::CapabilityImpl::CapabilityImpl const Resolvable::Kind refers_r  )  [protected]
 

Ctor taking the kind of Resolvable this refers to.

Definition at line 31 of file CapabilityImpl.cc.


Member Function Documentation

virtual const Kind& zypp::capability::CapabilityImpl::kind  )  const [pure virtual]
 

Kind of capabiliy.

Implemented in zypp::capability::FileCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, zypp::capability::NullCap, and zypp::capability::SplitCap.

Referenced by dumpOn().

const Resolvable::Kind& zypp::capability::CapabilityImpl::refers  )  const [inline]
 

Kind of Resolvable this refers to.

Definition at line 50 of file CapabilityImpl.h.

Referenced by dumpOn().

virtual bool zypp::capability::CapabilityImpl::relevant  )  const [inline, virtual]
 

Relevant per default.

Reimplemented in zypp::capability::NullCap, and zypp::capability::SplitCap.

Definition at line 54 of file CapabilityImpl.h.

virtual CapMatch zypp::capability::CapabilityImpl::matches const constPtr rhs  )  const [pure virtual]
 

Return whether the Capabilities match.

Note:
We rely on Capability passing non NULL pointers.

virtual std::string zypp::capability::CapabilityImpl::encode  )  const [pure virtual]
 

The string representation that enables CapFactory to recreate this capability.

Todo:
check it!

Implemented in zypp::capability::FileCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, zypp::capability::NullCap, zypp::capability::SplitCap, and zypp::capability::VersionedCap.

Referenced by capImplOrderLess().

virtual std::string zypp::capability::CapabilityImpl::asString  )  const [inline, virtual]
 

More or less human readable representation as string.

Suitable for displaying it at the UI. Defaults to encode.

Definition at line 72 of file CapabilityImpl.h.

References zypp::url::encode().

Referenced by dumpOn().

virtual std::string zypp::capability::CapabilityImpl::index  )  const [inline, virtual]
 

Deprecated:
A string representation usg. without edition range. All Capabilities that may match each other must have the same index. That's ugly, but the way the solver currently uses it.

Reimplemented in zypp::capability::HalCap, zypp::capability::ModaliasCap, and zypp::capability::VersionedCap.

Definition at line 80 of file CapabilityImpl.h.

References zypp::url::encode().

virtual Rel zypp::capability::CapabilityImpl::op  )  const [inline, virtual]
 

Deprecated:
, defaults to Rel::NONE

Reimplemented in zypp::capability::VersionedCap.

Definition at line 83 of file CapabilityImpl.h.

References zypp::Rel::NONE.

virtual Edition zypp::capability::CapabilityImpl::edition  )  const [inline, virtual]
 

Deprecated:
, defaults to Edition::noedition

Reimplemented in zypp::capability::VersionedCap.

Definition at line 86 of file CapabilityImpl.h.

References zypp::Edition::noedition.

CapabilityImpl::SplitInfo zypp::capability::CapabilityImpl::getSplitInfo const Capability cap  )  [static]
 

Solver hack.

Definition at line 38 of file SplitCap.cc.

References zypp::Capability::_pimpl, zypp::RW_pointer< _D, _Traits >::getPtr(), zypp::capability::CapabilityImpl::SplitInfo::name, and zypp::capability::CapabilityImpl::SplitInfo::path.

static constPtr zypp::capability::CapabilityImpl::backdoor const Capability cap  )  [inline, static]
 

Access to Capability details.

Definition at line 100 of file CapabilityImpl.h.

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

Referenced by zypp::capability::asKind().

bool zypp::capability::CapabilityImpl::sameKind const constPtr rhs  )  const [inline, protected]
 

Definition at line 108 of file CapabilityImpl.h.

bool zypp::capability::CapabilityImpl::sameRefers const constPtr rhs  )  const [inline, protected]
 

Definition at line 111 of file CapabilityImpl.h.

bool zypp::capability::CapabilityImpl::sameKindAndRefers const constPtr rhs  )  const [inline, protected]
 

Definition at line 114 of file CapabilityImpl.h.

Referenced by zypp::capability::NamedCap::matches(), zypp::capability::ModaliasCap::matches(), zypp::capability::HalCap::matches(), and zypp::capability::FileCap::matches().

std::ostream & zypp::capability::CapabilityImpl::dumpOn std::ostream &  str  )  const [protected, virtual]
 

Helper for stream output.

Reimplemented from zypp::base::ReferenceCounted.

Definition at line 50 of file CapabilityImpl.cc.

References asString(), kind(), and refers().

bool zypp::capability::CapabilityImpl::capImplOrderLess const constPtr rhs  )  const [private, virtual]
 

Helper for CapImplOrder to define an order relation.

Invariant:
CapImplOrder asserts that rhs refers and kind values are equal to this. Implementation may concentrate on the remaining values.
Default compares encoded.

Definition at line 40 of file CapabilityImpl.cc.

References encode().


Friends And Related Function Documentation

friend struct CapImplOrder [friend]
 

Definition at line 126 of file CapabilityImpl.h.


Member Data Documentation

Resolvable::Kind zypp::capability::CapabilityImpl::_refers [private]
 

Kind of Resolvable this refers to.

Definition at line 123 of file CapabilityImpl.h.


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