zypp::Resolvable Class Reference

Interface base for resolvable objects (identification and dependencies). More...

#include <Resolvable.h>

Inheritance diagram for zypp::Resolvable:
[legend]

List of all members.

Public Types

typedef Resolvable Self
typedef ResTraits< SelfTraitsType
typedef TraitsType::KindType Kind
typedef TraitsType::PtrType Ptr
typedef TraitsType::constPtrType constPtr

Public Member Functions

bool isSystem () const
 Whether this represents an installed solvable.
IdString ident () const
 The identifier.
ResKind kind () const
bool isKind (const ResKind &kind_r) const
 Test whether a Solvable is of a certain ResKind.
template<class _Res >
bool isKind () const
std::string name () const
Edition edition () const
Arch arch () const
bool multiversionInstall () const
 Whether different versions of this package can be installed at the same time.
bool installOnly () const
const sat::SolvablesatSolvable () const
 Access the corresponding ::Solvable.
PoolItem poolItem () const
 Access the corresponding PoolItem.
Dependencies.
Capabilities dep (Dep which_r) const
 Select by Dep.
Capabilities operator[] (Dep which_r) const
Capabilities provides () const
Capabilities requires () const
Capabilities conflicts () const
Capabilities obsoletes () const
Capabilities recommends () const
Capabilities suggests () const
Capabilities enhances () const
Capabilities supplements () const
Capabilities prerequires () const
CapabilitySet providesNamespace (const std::string &namespace_r) const
 Return the namespaced provides 'namespace([value])[ op edition]' of this Solvable.
CapabilitySet valuesOfNamespace (const std::string &namespace_r) const
 Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'.

Protected Member Functions

 Resolvable (const sat::Solvable &solvable_r)
 Ctor.
virtual ~Resolvable ()
 Dtor.
virtual std::ostream & dumpOn (std::ostream &str) const
 Helper for stream output.

Friends

std::ostream & operator<< (std::ostream &str, const Resolvable &obj)

Related Functions

(Note that these are not member functions.)

std::ostream & dumpOn (std::ostream &str, const Resolvable &obj)
template<class _Res >
bool isKind (const Resolvable::constPtr &p)
 Test whether a Resolvable::Ptr is of a certain Kind.
int compareByN (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
int compareByNVR (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
int compareByNVRA (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)


Detailed Description

Interface base for resolvable objects (identification and dependencies).

Todo:
Merge with ResObject

Definition at line 39 of file Resolvable.h.


Member Typedef Documentation

Reimplemented in zypp::Package, zypp::Patch, zypp::Pattern, zypp::Product, zypp::ResObject, and zypp::SrcPackage.

Definition at line 45 of file Resolvable.h.

Reimplemented in zypp::Package, zypp::Patch, zypp::Pattern, zypp::Product, zypp::ResObject, and zypp::SrcPackage.

Definition at line 46 of file Resolvable.h.

Definition at line 47 of file Resolvable.h.

Reimplemented in zypp::Package, zypp::Patch, zypp::Pattern, zypp::Product, zypp::ResObject, and zypp::SrcPackage.

Definition at line 48 of file Resolvable.h.

Reimplemented in zypp::Package, zypp::Patch, zypp::Pattern, zypp::Product, zypp::ResObject, and zypp::SrcPackage.

Definition at line 49 of file Resolvable.h.


Constructor & Destructor Documentation

zypp::Resolvable::Resolvable ( const sat::Solvable solvable_r  )  [protected]

Ctor.

Definition at line 27 of file Resolvable.cc.

zypp::Resolvable::~Resolvable (  )  [protected, virtual]

Dtor.

Definition at line 36 of file Resolvable.cc.


Member Function Documentation

bool zypp::Resolvable::isSystem (  )  const [inline]

Whether this represents an installed solvable.

Reimplemented from zypp::sat::Solvable.

Definition at line 57 of file Resolvable.h.

Referenced by zypp::Product::isTargetDistribution().

IdString zypp::Resolvable::ident (  )  const [inline]

The identifier.

This is the solvables name, except for packages and source packes, prefixed by it's kind.

Reimplemented from zypp::sat::Solvable.

Definition at line 60 of file Resolvable.h.

ResKind zypp::Resolvable::kind (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 63 of file Resolvable.h.

bool zypp::Resolvable::isKind ( const ResKind kind_r  )  const [inline]

Test whether a Solvable is of a certain ResKind.

The test is far cheaper than actually retriveing and comparing the kind.

Reimplemented from zypp::sat::Solvable.

Definition at line 66 of file Resolvable.h.

References isKind().

template<class _Res >
bool zypp::Resolvable::isKind (  )  const [inline]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Reimplemented from zypp::sat::Solvable.

Definition at line 70 of file Resolvable.h.

Referenced by isKind().

std::string zypp::Resolvable::name (  )  const [inline]

Edition zypp::Resolvable::edition (  )  const [inline]

Arch zypp::Resolvable::arch (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 79 of file Resolvable.h.

Referenced by zypp::Patch::contents(), and zypp::Product::referencePackage().

bool zypp::Resolvable::multiversionInstall (  )  const [inline]

Whether different versions of this package can be installed at the same time.

Per default false.

See also:
also ZConfig::multiversion.

Reimplemented from zypp::sat::Solvable.

Definition at line 85 of file Resolvable.h.

Referenced by installOnly().

bool zypp::Resolvable::installOnly (  )  const [inline]

Deprecated:
Use multiversionInstall.

Reimplemented from zypp::sat::Solvable.

Definition at line 89 of file Resolvable.h.

References multiversionInstall().

Capabilities zypp::Resolvable::dep ( Dep  which_r  )  const [inline]

Select by Dep.

Definition at line 95 of file Resolvable.h.

References operator[]().

Capabilities zypp::Resolvable::operator[] ( Dep  which_r  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 98 of file Resolvable.h.

Referenced by dep().

Capabilities zypp::Resolvable::provides (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 101 of file Resolvable.h.

Referenced by zypp::Product::flavor().

Capabilities zypp::Resolvable::requires (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 104 of file Resolvable.h.

Referenced by zypp::Pattern::core(), and zypp::Pattern::depends().

Capabilities zypp::Resolvable::conflicts (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 107 of file Resolvable.h.

Capabilities zypp::Resolvable::obsoletes (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 110 of file Resolvable.h.

Capabilities zypp::Resolvable::recommends (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 113 of file Resolvable.h.

Referenced by zypp::Pattern::depends().

Capabilities zypp::Resolvable::suggests (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 116 of file Resolvable.h.

Referenced by zypp::Pattern::depends().

Capabilities zypp::Resolvable::enhances (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 119 of file Resolvable.h.

Capabilities zypp::Resolvable::supplements (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 122 of file Resolvable.h.

Capabilities zypp::Resolvable::prerequires (  )  const [inline]

Reimplemented from zypp::sat::Solvable.

Definition at line 125 of file Resolvable.h.

CapabilitySet zypp::Resolvable::providesNamespace ( const std::string &  namespace_r  )  const [inline]

Return the namespaced provides 'namespace([value])[ op edition]' of this Solvable.

Reimplemented from zypp::sat::Solvable.

Definition at line 128 of file Resolvable.h.

CapabilitySet zypp::Resolvable::valuesOfNamespace ( const std::string &  namespace_r  )  const [inline]

Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'.

Similar to providesNamespace, but the namespace is stripped from the dependencies. This is convenient if the namespace denotes packages that should be looked up. E.g. the weakremover namespace used in a products release package denotes the packages that were dropped from the distribution.

See also:
Product::droplist

Reimplemented from zypp::sat::Solvable.

Definition at line 131 of file Resolvable.h.

const sat::Solvable& zypp::Resolvable::satSolvable (  )  const [inline]

PoolItem zypp::Resolvable::poolItem (  )  const

Access the corresponding PoolItem.

Definition at line 44 of file Resolvable.cc.

Referenced by zypp::Product::droplist(), and zypp::Product::replacedProducts().

std::ostream & zypp::Resolvable::dumpOn ( std::ostream &  str  )  const [protected, virtual]

Helper for stream output.

Reimplemented from zypp::base::ReferenceCounted.

Reimplemented in zypp::ResObject.

Definition at line 52 of file Resolvable.cc.

References satSolvable().


Friends And Related Function Documentation

std::ostream & operator<< ( std::ostream &  str,
const Resolvable obj 
) [friend]

Stream output

Definition at line 153 of file Resolvable.h.

std::ostream & dumpOn ( std::ostream &  str,
const Resolvable obj 
) [related]

More verbose stream output including dependencies

Definition at line 157 of file Resolvable.h.

References dumpOn(), and satSolvable().

Referenced by dumpOn().

template<class _Res >
bool isKind ( const Resolvable::constPtr p  )  [related]

Test whether a Resolvable::Ptr is of a certain Kind.

Returns:
Ture iff p is not NULL and points to a Resolvable of the specified Kind.
 isKind<Package>(resPtr);

Definition at line 169 of file Resolvable.h.

int compareByN ( const Resolvable::constPtr lhs,
const Resolvable::constPtr rhs 
) [related]

Compare Resolvable::constPtr according to kind and name.

Definition at line 204 of file Resolvable.h.

int compareByNVR ( const Resolvable::constPtr lhs,
const Resolvable::constPtr rhs 
) [related]

Compare Resolvable::constPtr according to kind, name and edition(compare!).

Definition at line 220 of file Resolvable.h.

int compareByNVRA ( const Resolvable::constPtr lhs,
const Resolvable::constPtr rhs 
) [related]

Compare Resolvable::constPtr according to kind, name, edition(compare!) and arch.

Definition at line 238 of file Resolvable.h.


The documentation for this class was generated from the following files:

doxygen