libzypp  10.5.0
zypp::Resolvable Class Reference

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

#include <Resolvable.h>

Inheritance diagram for zypp::Resolvable:

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.
bool onSystemByUser () const
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.
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 & operator<< (std::ostream &str, const Resolvable &obj)
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.
template<class _Res >
ResTraits< _Res >::PtrType asKind (const Resolvable::Ptr &p)
 Convert Resolvable::Ptr into Ptr 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

Definition at line 47 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.

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

Whether this is known to be installed on behalf of a user request.

Note:
This is a hint guessed by evaluating an available install history. Returns false for non-system (uninstalled) solvables, or if no history is available.

Reimplemented from zypp::sat::Solvable.

Definition at line 61 of file Resolvable.h.

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 64 of file Resolvable.h.

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

Reimplemented from zypp::sat::Solvable.

Definition at line 67 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 70 of file Resolvable.h.

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 74 of file Resolvable.h.

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

Reimplemented from zypp::sat::Solvable.

Definition at line 77 of file Resolvable.h.

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

Reimplemented from zypp::sat::Solvable.

Definition at line 80 of file Resolvable.h.

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

Reimplemented from zypp::sat::Solvable.

Definition at line 83 of file Resolvable.h.

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 89 of file Resolvable.h.

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

Select by Dep.

Definition at line 95 of file Resolvable.h.

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

Reimplemented from zypp::sat::Solvable.

Definition at line 98 of file Resolvable.h.

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

Reimplemented from zypp::sat::Solvable.

Definition at line 101 of file Resolvable.h.

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

Reimplemented from zypp::sat::Solvable.

Definition at line 104 of file Resolvable.h.

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.

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

Reimplemented from zypp::sat::Solvable.

Definition at line 116 of file Resolvable.h.

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]

Access the corresponding ::Solvable.

Definition at line 137 of file Resolvable.h.

PoolItem zypp::Resolvable::poolItem ( ) const

Access the corresponding PoolItem.

Definition at line 44 of file Resolvable.cc.

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.


Friends And Related Function Documentation

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

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.

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.

template<class _Res >
ResTraits< _Res >::PtrType asKind ( const Resolvable::Ptr p) [related]

Convert Resolvable::Ptr into Ptr of a certain Kind.

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

Reimplemented in zypp::ResObject.

Definition at line 192 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: