libzypp  13.10.6
zypp::sat::Solvable Class Reference

A Solvable object within the sat Pool. More...

#include <Solvable.h>

Inheritance diagram for zypp::sat::Solvable:
zypp::sat::detail::PoolMember zypp::Resolvable zypp::ResObject zypp::Package zypp::Patch zypp::Pattern zypp::Product zypp::SrcPackage

Classes

class  SplitIdent
 Helper that splits an identifier into kind and name or vice versa. More...
 

Public Types

typedef sat::detail::SolvableIdType IdType
 

Public Member Functions

 Solvable ()
 Default ctor creates noSolvable. More...
 
 Solvable (IdType id_r)
 PoolImpl ctor. More...
 
 operator bool () const
 Evaluate Solvable in a boolean context (!= noSolvable). More...
 
bool isSystem () const
 Return whether this Solvable belongs to the system repo. More...
 
bool onSystemByUser () const
 Whether this is known to be installed on behalf of a user request. More...
 
Repository repository () const
 The Repository this Solvable belongs to. More...
 
IdString ident () const
 The identifier. More...
 
ResKind kind () const
 
bool isKind (const ResKind &kind_r) const
 Test whether a Solvable is of a certain ResKind. More...
 
template<class _Res >
bool isKind () const
 
template<class _Iterator >
bool isKind (_Iterator begin, _Iterator end)
 
std::string name () const
 
Edition edition () const
 
Arch arch () const
 
IdString vendor () const
 
bool multiversionInstall () const
 Whether different versions of this package can be installed at the same time. More...
 
std::string asString () const
 String representation "ident-edition.arch" or "noSolvable". More...
 
std::string asUserString () const
 String representation "ident-edition.arch(repo)" or "noSolvable". More...
 
bool identical (Solvable rhs) const
 Test whether two Solvables have the same content. More...
 
bool sameNVRA (Solvable rhs) const
 Test for same name-version-release.arch. More...
 
Solvable nextInPool () const
 Return next Solvable in Pool (or noSolvable). More...
 
Solvable nextInRepo () const
 Return next Solvable in Repo (or noSolvable). More...
 
::_Solvable * get () const
 Expert backdoor. More...
 
IdType id () const
 Expert backdoor. More...
 
Attribute lookup.
See Also
LookupAttr and ArrayAttr providing a general, more query like interface for attribute retrieval.
std::string lookupStrAttribute (const SolvAttr &attr) const
 returns the string attribute value for attr or an empty string if it does not exists. More...
 
std::string lookupStrAttribute (const SolvAttr &attr, const Locale &lang_r) const
 
unsigned long long lookupNumAttribute (const SolvAttr &attr) const
 returns the numeric attribute value for attr or 0 if it does not exists. More...
 
bool lookupBoolAttribute (const SolvAttr &attr) const
 returns the boolean attribute value for attr or false if it does not exists. More...
 
detail::IdType lookupIdAttribute (const SolvAttr &attr) const
 returns the id attribute value for attr or detail::noId if it does not exists. More...
 
CheckSum lookupCheckSumAttribute (const SolvAttr &attr) const
 returns the CheckSum attribute value for attr or an empty CheckSum if ir does not exist. More...
 
OnMediaLocation lookupLocation () const
 returns OnMediaLocation data: This is everything we need to download e.g. More...
 
Access to the \ref Solvable dependencies.
Note
Prerequires are a subset of requires.
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. More...
 
CapabilitySet valuesOfNamespace (const std::string &namespace_r) const
 Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'. More...
 
Locale support.
bool supportsLocales () const
 Whether this Solvable claims to support locales. More...
 
bool supportsLocale (const Locale &locale_r) const
 Whether this Solvable supports a specific Locale. More...
 
bool supportsLocale (const LocaleSet &locales_r) const
 Whether this Solvable supports at least one of the specified locales. More...
 
bool supportsRequestedLocales () const
 Whether this Solvable supports at least one requested locale. More...
 
void getSupportedLocales (LocaleSet &locales_r) const
 Return the supported locales via locales_r. More...
 
LocaleSet getSupportedLocales () const
 

Static Public Attributes

static const Solvable noSolvable
 Represents no Solvable. More...
 

Private Attributes

IdType _id
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const Solvable &obj)
 
std::ostream & dumpOn (std::ostream &str, const Solvable &obj)
 
std::ostream & dumpAsXmlOn (std::ostream &str, const Solvable &obj)
 
bool operator== (const Solvable &lhs, const Solvable &rhs)
 
bool operator!= (const Solvable &lhs, const Solvable &rhs)
 
bool operator< (const Solvable &lhs, const Solvable &rhs)
 
bool identical (Solvable lhs, Solvable rhs)
 
bool sameNVRA (Solvable lhs, Solvable rhs)
 
template<class _Res >
bool isKind (const sat::Solvable &solvable_r)
 

Additional Inherited Members

- Static Protected Member Functions inherited from zypp::sat::detail::PoolMember
static PoolImplmyPool ()
 

Detailed Description

A Solvable object within the sat Pool.

Note
Unfortunately libsolv combines the objects kind and name in a single identifier "pattern:kde_multimedia", except for packages and source packes. They are not prefixed by any kind string. Instead the architecture is abused to store "src" and "nosrc" values.

Solvable will hide this inconsistency by treating source packages as an own kind of solvable and map their arch to Arch_noarch.

Definition at line 55 of file Solvable.h.

Member Typedef Documentation

Constructor & Destructor Documentation

zypp::sat::Solvable::Solvable ( )
inline

Default ctor creates noSolvable.

Definition at line 62 of file Solvable.h.

zypp::sat::Solvable::Solvable ( IdType  id_r)
inlineexplicit

PoolImpl ctor.

Definition at line 66 of file Solvable.h.

Member Function Documentation

zypp::sat::Solvable::operator bool ( ) const
inlineexplicit

Evaluate Solvable in a boolean context (!= noSolvable).

Definition at line 74 of file Solvable.h.

bool zypp::sat::Solvable::isSystem ( ) const

Return whether this Solvable belongs to the system repo.

Note
This includes the otherwise hidden systemSolvable.

Definition at line 154 of file Solvable.cc.

bool zypp::sat::Solvable::onSystemByUser ( ) const

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.

Definition at line 160 of file Solvable.cc.

Repository zypp::sat::Solvable::repository ( ) const

The Repository this Solvable belongs to.

Definition at line 148 of file Solvable.cc.

std::string zypp::sat::Solvable::lookupStrAttribute ( const SolvAttr attr) const

returns the string attribute value for attr or an empty string if it does not exists.

Definition at line 171 of file Solvable.cc.

std::string zypp::sat::Solvable::lookupStrAttribute ( const SolvAttr attr,
const Locale lang_r 
) const

Definition at line 178 of file Solvable.cc.

unsigned long long zypp::sat::Solvable::lookupNumAttribute ( const SolvAttr attr) const

returns the numeric attribute value for attr or 0 if it does not exists.

Definition at line 197 of file Solvable.cc.

bool zypp::sat::Solvable::lookupBoolAttribute ( const SolvAttr attr) const

returns the boolean attribute value for attr or false if it does not exists.

Definition at line 203 of file Solvable.cc.

detail::IdType zypp::sat::Solvable::lookupIdAttribute ( const SolvAttr attr) const

returns the id attribute value for attr or detail::noId if it does not exists.

Definition at line 209 of file Solvable.cc.

CheckSum zypp::sat::Solvable::lookupCheckSumAttribute ( const SolvAttr attr) const

returns the CheckSum attribute value for attr or an empty CheckSum if ir does not exist.

Definition at line 215 of file Solvable.cc.

OnMediaLocation zypp::sat::Solvable::lookupLocation ( ) const

returns OnMediaLocation data: This is everything we need to download e.g.

an rpm (path, checksum, downloadsize, etc.).

Definition at line 254 of file Solvable.cc.

IdString zypp::sat::Solvable::ident ( ) const

The identifier.

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

Definition at line 165 of file Solvable.cc.

ResKind zypp::sat::Solvable::kind ( ) const

Definition at line 298 of file Solvable.cc.

bool zypp::sat::Solvable::isKind ( const ResKind kind_r) const

Test whether a Solvable is of a certain ResKind.

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

Definition at line 337 of file Solvable.cc.

template<class _Res >
bool zypp::sat::Solvable::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.

Definition at line 162 of file Solvable.h.

template<class _Iterator >
bool zypp::sat::Solvable::isKind ( _Iterator  begin,
_Iterator  end 
)
inline

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

Definition at line 166 of file Solvable.h.

std::string zypp::sat::Solvable::name ( ) const

Definition at line 364 of file Solvable.cc.

Edition zypp::sat::Solvable::edition ( ) const

Definition at line 372 of file Solvable.cc.

Arch zypp::sat::Solvable::arch ( ) const

Definition at line 378 of file Solvable.cc.

IdString zypp::sat::Solvable::vendor ( ) const

Definition at line 397 of file Solvable.cc.

bool zypp::sat::Solvable::multiversionInstall ( ) const

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

Per default false.

See Also
also ZConfig::multiversion.

Definition at line 392 of file Solvable.cc.

std::string zypp::sat::Solvable::asString ( ) const

String representation "ident-edition.arch" or "noSolvable".

* product:openSUSE-11.1.x86_64
* autoyast2-2.16.19-0.1.src
*

Definition at line 506 of file Solvable.cc.

std::string zypp::sat::Solvable::asUserString ( ) const

String representation "ident-edition.arch(repo)" or "noSolvable".

Definition at line 515 of file Solvable.cc.

bool zypp::sat::Solvable::identical ( Solvable  rhs) const

Test whether two Solvables have the same content.

Basically the same name, edition, arch, vendor and buildtime.

Definition at line 525 of file Solvable.cc.

bool zypp::sat::Solvable::sameNVRA ( Solvable  rhs) const
inline

Test for same name-version-release.arch.

Definition at line 198 of file Solvable.h.

Capabilities zypp::sat::Solvable::operator[] ( Dep  which_r) const

Definition at line 403 of file Solvable.cc.

Capabilities zypp::sat::Solvable::provides ( ) const

Definition at line 424 of file Solvable.cc.

Capabilities zypp::sat::Solvable::requires ( ) const

Definition at line 429 of file Solvable.cc.

Capabilities zypp::sat::Solvable::conflicts ( ) const

Definition at line 434 of file Solvable.cc.

Capabilities zypp::sat::Solvable::obsoletes ( ) const

Definition at line 439 of file Solvable.cc.

Capabilities zypp::sat::Solvable::recommends ( ) const

Definition at line 444 of file Solvable.cc.

Capabilities zypp::sat::Solvable::suggests ( ) const

Definition at line 449 of file Solvable.cc.

Capabilities zypp::sat::Solvable::enhances ( ) const

Definition at line 454 of file Solvable.cc.

Capabilities zypp::sat::Solvable::supplements ( ) const

Definition at line 459 of file Solvable.cc.

Capabilities zypp::sat::Solvable::prerequires ( ) const

Definition at line 464 of file Solvable.cc.

CapabilitySet zypp::sat::Solvable::providesNamespace ( const std::string &  namespace_r) const

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

Definition at line 473 of file Solvable.cc.

CapabilitySet zypp::sat::Solvable::valuesOfNamespace ( const std::string &  namespace_r) const

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

Definition at line 487 of file Solvable.cc.

bool zypp::sat::Solvable::supportsLocales ( ) const

Whether this Solvable claims to support locales.

Definition at line 609 of file Solvable.cc.

bool zypp::sat::Solvable::supportsLocale ( const Locale locale_r) const

Whether this Solvable supports a specific Locale.

Definition at line 615 of file Solvable.cc.

bool zypp::sat::Solvable::supportsLocale ( const LocaleSet locales_r) const

Whether this Solvable supports at least one of the specified locales.

Definition at line 621 of file Solvable.cc.

bool zypp::sat::Solvable::supportsRequestedLocales ( ) const

Whether this Solvable supports at least one requested locale.

See Also
Pool::setRequestedLocales

Definition at line 629 of file Solvable.cc.

void zypp::sat::Solvable::getSupportedLocales ( LocaleSet locales_r) const

Return the supported locales via locales_r.

Definition at line 632 of file Solvable.cc.

LocaleSet zypp::sat::Solvable::getSupportedLocales ( ) const
inline

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

Definition at line 249 of file Solvable.h.

Solvable zypp::sat::Solvable::nextInPool ( ) const

Return next Solvable in Pool (or noSolvable).

Definition at line 131 of file Solvable.cc.

Solvable zypp::sat::Solvable::nextInRepo ( ) const

Return next Solvable in Repo (or noSolvable).

Definition at line 134 of file Solvable.cc.

_Solvable * zypp::sat::Solvable::get ( ) const

Expert backdoor.

Definition at line 124 of file Solvable.cc.

IdType zypp::sat::Solvable::id ( ) const
inline

Expert backdoor.

Definition at line 296 of file Solvable.h.

Friends And Related Function Documentation

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

Stream output

Definition at line 643 of file Solvable.cc.

std::ostream & dumpOn ( std::ostream &  str,
const Solvable obj 
)
related

More verbose stream output including dependencies

Definition at line 659 of file Solvable.cc.

std::ostream & dumpAsXmlOn ( std::ostream &  str,
const Solvable obj 
)
related

XML output

Definition at line 679 of file Solvable.cc.

bool operator== ( const Solvable lhs,
const Solvable rhs 
)
related

Definition at line 313 of file Solvable.h.

bool operator!= ( const Solvable lhs,
const Solvable rhs 
)
related

Definition at line 317 of file Solvable.h.

bool operator< ( const Solvable lhs,
const Solvable rhs 
)
related

Definition at line 321 of file Solvable.h.

bool identical ( Solvable  lhs,
Solvable  rhs 
)
related

Test for same content.

Definition at line 325 of file Solvable.h.

bool sameNVRA ( Solvable  lhs,
Solvable  rhs 
)
related

Test for same name version release and arch.

Definition at line 329 of file Solvable.h.

template<class _Res >
bool isKind ( const sat::Solvable solvable_r)
related

Test whether a sat::Solvable is of a certain Kind.

Definition at line 387 of file Solvable.h.

Member Data Documentation

const Solvable zypp::sat::Solvable::noSolvable
static

Represents no Solvable.

Definition at line 71 of file Solvable.h.

IdType zypp::sat::Solvable::_id
private

Definition at line 299 of file Solvable.h.


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