libzypp: zypp::ui::Selectable Class Reference

libzypp 17.38.10

zypp::ui::Selectable Class Reference

Collects PoolItems of same kind and name. More...

`#include <zypp/ui/Selectable.h>`

Inheritance diagram for zypp::ui::Selectable:

## Classes
struct | Impl
| Selectable implementation. More...

## Public Types
using | Ptr = intrusive_ptr<Selectable>
using | constPtr = intrusive_ptr<const Selectable>
using | available_iterator = SelectableTraits::available_iterator
| Iterates over ResObject::constPtr.
using | available_size_type = SelectableTraits::available_size_type
using | installed_iterator = SelectableTraits::installed_iterator
using | installed_size_type = SelectableTraits::installed_size_type
using | picklist_iterator = SelectableTraits::picklist_iterator
using | picklist_size_type = SelectableTraits::picklist_size_type

## Public Member Functions
Available objects iterators.
Oredered according to solver policy. 'Best' first.
bool | availableEmpty () const
available_size_type | availableSize () const
available_iterator | availableBegin () const
available_iterator | availableEnd () const
Iterable< available_iterator > | available () const
Installed objects iterators.
Ordered by install time. Latest first.
bool | installedEmpty () const
installed_size_type | installedSize () const
installed_iterator | installedBegin () const
installed_iterator | installedEnd () const
Iterable< installed_iterator > | installed () const
Query for objects within this Selectable.
bool | hasObject () const
| True if either installed or candidate object is present.
bool | hasInstalledObj () const
| True if installed object is present.
bool | hasCandidateObj () const
| True if candidate object is present.
bool | hasBothObjects () const
| True if installed and candidate object is present.
bool | hasInstalledObjOnly () const
| True if installed object is present but no candidate.
bool | hasCandidateObjOnly () const
| True if candidate object is present but no installed.
bool | hasBlacklisted () const
| True if this Selectable contains available blacklisted items (retracted,ptf,...).
bool | hasBlacklistedInstalled () const
| True if this Selectable contains an installed blacklisted item (retracted,ptf,...).
bool | hasRetracted () const
| True if this Selectable contains available retracted items.
bool | hasRetractedInstalled () const
| True if this Selectable contains an installed retracted item.
bool | hasPtf () const
| True if this Selectable contains available ptf items.
bool | hasPtfInstalled () const
| True if this Selectable contains an installed ptf item.
bool | isUnmaintained () const
| True if this package has no replacement from the available repositories.
Multiversion install.
Using pickInstall or pickDelete with non-multiversionInstall items is possible, but additional constraints will apply. E.g. selecting one item for install will deselect any other.
bool | multiversionInstall () const
| Whether at least one of the available packages has multiversionInstall set.
bool | pickInstall (const PoolItem &pi_r, ResStatus::TransactByValue causer_r=ResStatus::USER, bool yesno_r=true)
| Select a specific available item for installation.
bool | pickNoInstall (const PoolItem &pi_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
| Deselect a specific available item from installation.
bool | pickDelete (const PoolItem &pi_r, ResStatus::TransactByValue causer_r=ResStatus::USER, bool yesno_r=true)
| Select a specific installed item for deletion.
bool | pickNoDelete (const PoolItem &pi_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
| Deselect a specific installed item from deletion.
Status | pickStatus (const PoolItem &pi_r) const
| Compute the ui::Status for an individual PoolItem.
bool | setPickStatus (const PoolItem &pi_r, Status state_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
| Assign a new status to a specific item.
Classification of available patches (pseudo installed items).
A patch is either `not` `relevant`, `satisfied` or `broken`. The same applies to other pseudo installed kinds. See also traits::isPseudoInstalled
bool | isUndetermined () const
| Returns true for packages, because packages are not classified by the solver.
bool | isRelevant () const
| Returns true if the patch is relevant which means that at least one package of the patch is installed.
bool | isSatisfied () const
| Whether a relevant patchs requirements are met.
bool | isBroken () const
| Whether a relevant patchs requirements are broken.
bool | isNeeded () const
| This includes `unlocked` broken patches, as well as those already selected to be installed.
bool | isUnwanted () const
| Broken (needed) but locked patches.
Public Member Functions inherited from zypp::base::ReferenceCounted
| ReferenceCounted ()
| Default ctor.
| ReferenceCounted (const ReferenceCounted &rhs)
| Copy ctor.
virtual | ~ReferenceCounted ()
| Dtor.
ReferenceCounted & | operator= (const ReferenceCounted &)
| Assignment.
unsigned | refCount () const
| Return reference counter value.
void | ref () const
| Add a reference.
void | unref () const
| Release a reference.

## Friends
std::ostream & | operator<< (std::ostream &str, const Selectable &obj)
| relates: Selectable Stream output
std::ostream & | dumpOn (std::ostream &str, const Selectable &obj)
| relates: Selectable More verbose stream output

## Query and maip objects fate in case of commit.
enum | Fate { TO_DELETE = -1 , UNMODIFIED = 0 , TO_INSTALL = 1 }
Fate | fate () const
bool | unmodified () const
| True if neither to delete or to install.
bool | locked () const
| True if locked (subclass of unmodified).
bool | hasLocks () const
| True if it includes locked items (don't mix this with the locked status).
bool | toModify () const
| True if either to delete or to install.
bool | toDelete () const
| True if to delete.
bool | toInstall () const
| True if to install.
bool | onSystem () const
| True if would be on system after commit.
bool | offSystem () const
| True if would be off system after commit.
bool | setFate (Fate fate_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
bool | setToInstall (ResStatus::TransactByValue causer_r=ResStatus::USER)
| Set the item to be installed (new- or re-install).
bool | setInstalled (ResStatus::TransactByValue causer_r=ResStatus::USER)
| Take care the item gets installed if it is not.
bool | setUpToDate (ResStatus::TransactByValue causer_r=ResStatus::USER)
| Take care the item gets installed if it is not, or is older.
bool | setToDelete (ResStatus::TransactByValue causer_r=ResStatus::USER)
| Set the item to be deleted (must be installed).
bool | setDeleted (ResStatus::TransactByValue causer_r=ResStatus::USER)
| Take care the item gets deleted if it is installed.
bool | unset (ResStatus::TransactByValue causer_r=ResStatus::USER)
| Set the item to stay unmodified.

## Special inteface for Y2UI.
Note This interface acts on ResStatus::USER level. The Status enum, and allowed state transitions are tightly related to the Y2UI.
using | Impl_Ptr = shared_ptr<Impl>
RW_pointer< Impl > | _pimpl
| Pointer to implementation.
Status | status () const
| Return the current Status.
bool | setStatus (Status state_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
| Try to set a new Status.
ResStatus::TransactByValue | modifiedBy () const
| Return who caused the modification.
bool | hasLicenceConfirmed () const
| Return value of LicenceConfirmed bit.
void | setLicenceConfirmed (bool val_r=true)
| Set LicenceConfirmed bit.
| Selectable (Impl_Ptr pimpl_r)
| Default ctor.
| ~Selectable () override
| Dtor.

## picklist iterators.
This is basically the available items list prepended by those installed items, that are nolonger identicalAvailable.
static constexpr const picklist_size_type | picklistNoPos = picklist_size_type(-1)
| Returned by picklistPos if the Item does not belong to the picklist.
bool | picklistEmpty () const
picklist_size_type | picklistSize () const
picklist_iterator | picklistBegin () const
picklist_iterator | picklistEnd () const
Iterable< picklist_iterator > | picklist () const
picklist_size_type | picklistPos (const PoolItem &pi_r) const
| Return the position of pi_r in the piclist or picklistNoPos.
picklist_size_type | picklistPos (const sat::Solvable &solv_r) const

## Static ctor substitues picking the item from the pool.
Selectable::Ptr item; item = Selectable::get( "amarok ); // package amamrok item = Selectable::get( ResKind::patch, "amarok ); // patch amamrok item = Selectable::get( IdString( "patch:amarok" ); // patch amamrok zypp::IdString Access to the sat-pools string space. Definition IdString.h:55 zypp::ui::Selectable::get static Ptr get(const pool::ByIdent &ident_r) Get the Selctable. Definition Selectable.cc:29 zypp::ui::Selectable::Ptr intrusive_ptr< Selectable > Ptr Definition Selectable.h:58
static Ptr | get (const pool::ByIdent &ident_r)
| Get the Selctable.
static Ptr | get (IdString ident_r)
| Get the Selctable by its `sat-identifier`.
static Ptr | get (ResKind kind_r, const std::string &name_r)
| Get the Selctable by `kind` and `name`.
static Ptr | get (const std::string &name_r)
| Get the `Package` Selctable by `name`.
static Ptr | get (const sat::Solvable &solv_r)
| Get the Selctable containing a specific sat::Solvable.
static Ptr | get (const ResObject::constPtr &resolvable_r)
| Get the Selctable containing a specific ResObject.
static Ptr | get (const PoolItem &pi_r)
| Get the Selctable containing a specific PoolItem.
IdString | ident () const
| The identifier.
ResKind | kind () const
| The ResObjects kind.
const std::string & | name () const
| The ResObjects name.
PoolItem | installedObj () const
| The last Installed object.
PoolItem | candidateObj () const
| The 'best' or 'most interesting' among all available objects.
PoolItem | candidateObjFrom (Repository repo_r) const
| The best candidate provided by a specific Repository, if there is one.
PoolItem | updateCandidateObj () const
| The best candidate for update, if there is one.
PoolItem | highestAvailableVersionObj () const
| Simply the highest available version, ignoring priorities and policies.
bool | identIsAutoInstalled () const
| Whether this ident is flagged as AutoInstalled.
bool | identicalAvailable (const PoolItem &rhs) const
| `True` if rhs is installed and one with the same content is available.
bool | identicalInstalled (const PoolItem &rhs) const
| `True` if rhs has the same content as an installed one.
bool | identicalInstalledCandidate () const
| `True` if the candidateObj is installed (same content).
bool | identicalInstalledUpdateCandidate () const
| `True` if the updateCandidateObj is installed (same content).
PoolItem | identicalAvailableObj (const PoolItem &rhs) const
| Return an available Object with the same content as `rhs`.
PoolItem | identicalInstalledObj (const PoolItem &rhs) const
| \Return an installed Object with the same content as `rhs`.
template<class TRes>
ResTraits< TRes >::constPtrType | installedAsKind () const
| Return the installedObj resolvable casted to a specific kind.
template<class TRes>
ResTraits< TRes >::constPtrType | candidateAsKind () const
| Return the candidateObj resolvable casted to a specific kind.
PoolItem | setCandidate (const PoolItem &newCandidate_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
| Set a candidate (out of available objects).
PoolItem | setCandidate (const ResObject::constPtr &newCandidate_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool | setOnSystem (const PoolItem &newCandidate_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
| Arrange the specified candidate (out of available objects) to be on system after commit.
PoolItem | theObj () const
| An object you could use as pars pro toto.
std::vector< std::string > | supersededBy () const
| The name(s) of the successor package if vendorSupport is VendorSupportSuperseded.

## Additional Inherited Members
Static Public Member Functions inherited from zypp::base::ReferenceCounted
static void | add_ref (const ReferenceCounted *ptr_r)
| Called by zypp::intrusive_ptr to add a reference.
static void | release (const ReferenceCounted *ptr_r)
| Called by zypp::intrusive_ptr to add a reference.
Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual std::ostream & | dumpOn (std::ostream &str) const
| Overload to realize std::ostream & operator<<.
virtual void | ref_to (unsigned) const
| Trigger derived classes after refCount was increased.
virtual void | unref_to (unsigned) const
| Trigger derived classes after refCount was decreased.

## Detailed Description

Collects PoolItems of same kind and name.

Selectable is a status wrapper. The ui::Status is calculated from (and transated to) PoolItems individual ResStatus values.

Available objects are sorted according the solver policies, 'best' packages first (e.g. by repository priority, then Arch, then Edition).

Installed objects are sorted according the installation date, newer install time first.

Definition at line 52 of file Selectable.h.

## Member Typedef Documentation

## ◆ Ptr

using zypp::ui::Selectable::Ptr = intrusive_ptr<Selectable>

Definition at line 58 of file Selectable.h.

## ◆ constPtr

using zypp::ui::Selectable::constPtr = intrusive_ptr<const Selectable>

Definition at line 59 of file Selectable.h.

## ◆ available_iterator

using zypp::ui::Selectable::available_iterator = SelectableTraits::available_iterator

Iterates over ResObject::constPtr.

Definition at line 62 of file Selectable.h.

## ◆ available_size_type

using zypp::ui::Selectable::available_size_type = SelectableTraits::available_size_type

Definition at line 63 of file Selectable.h.

## ◆ installed_iterator

using zypp::ui::Selectable::installed_iterator = SelectableTraits::installed_iterator

Definition at line 65 of file Selectable.h.

## ◆ installed_size_type

using zypp::ui::Selectable::installed_size_type = SelectableTraits::installed_size_type

Definition at line 66 of file Selectable.h.

## ◆ picklist_iterator

using zypp::ui::Selectable::picklist_iterator = SelectableTraits::picklist_iterator

Definition at line 68 of file Selectable.h.

## ◆ picklist_size_type

using zypp::ui::Selectable::picklist_size_type = SelectableTraits::picklist_size_type

Definition at line 69 of file Selectable.h.

## ◆ Impl_Ptr

using zypp::ui::Selectable::Impl_Ptr = shared_ptr<Impl>

Definition at line 562 of file Selectable.h.

## Member Enumeration Documentation

## ◆ Fate

enum zypp::ui::Selectable::Fate

Enumerator
TO_DELETE |
UNMODIFIED |
TO_INSTALL |

Definition at line 458 of file Selectable.h.

## Constructor & Destructor Documentation

## ◆ Selectable()

zypp::ui::Selectable::Selectable | ( | Impl_Ptr | pimpl_r | ) |

Default ctor.

Definition at line 37 of file Selectable.cc.

## ◆ ~Selectable()

zypp::ui::Selectable::~Selectable | ( |  | ) |
| overrideprivate

Dtor.

Definition at line 46 of file Selectable.cc.

## Member Function Documentation

## ◆ get() [1/7]

Selectable::Ptr zypp::ui::Selectable::get | ( | const pool::ByIdent & | ident_r | ) |
| static

Get the Selctable.

Definition at line 29 of file Selectable.cc.

## ◆ get() [2/7]

Ptr zypp::ui::Selectable::get | ( | IdString | ident_r | ) |
| inlinestatic

Get the Selctable by its `sat-identifier`.

Definition at line 83 of file Selectable.h.

## ◆ get() [3/7]

Ptr zypp::ui::Selectable::get | ( | ResKind | kind_r,
|  | const std::string & | name_r )
| inlinestatic

Get the Selctable by `kind` and `name`.

Definition at line 87 of file Selectable.h.

## ◆ get() [4/7]

Ptr zypp::ui::Selectable::get | ( | const std::string & | name_r | ) |
| inlinestatic

Get the `Package` Selctable by `name`.

Definition at line 91 of file Selectable.h.

## ◆ get() [5/7]

Ptr zypp::ui::Selectable::get | ( | const sat::Solvable & | solv_r | ) |
| inlinestatic

Get the Selctable containing a specific sat::Solvable.

Definition at line 95 of file Selectable.h.

## ◆ get() [6/7]

Ptr zypp::ui::Selectable::get | ( | const ResObject::constPtr & | resolvable_r | ) |
| inlinestatic

Get the Selctable containing a specific ResObject.

Definition at line 99 of file Selectable.h.

## ◆ get() [7/7]

Ptr zypp::ui::Selectable::get | ( | const PoolItem & | pi_r | ) |
| inlinestatic

Get the Selctable containing a specific PoolItem.

Definition at line 103 of file Selectable.h.

## ◆ ident()

IdString zypp::ui::Selectable::ident | ( |  | ) | const

The identifier.

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

See also
  sat::Solvable.

Definition at line 56 of file Selectable.cc.

## ◆ kind()

ResKind zypp::ui::Selectable::kind | ( |  | ) | const

The ResObjects kind.

Definition at line 59 of file Selectable.cc.

## ◆ name()

const std::string & zypp::ui::Selectable::name | ( |  | ) | const

The ResObjects name.

Definition at line 62 of file Selectable.cc.

## ◆ installedObj()

PoolItem zypp::ui::Selectable::installedObj | ( |  | ) | const

The last Installed object.

Definition at line 71 of file Selectable.cc.

## ◆ candidateObj()

PoolItem zypp::ui::Selectable::candidateObj | ( |  | ) | const

The 'best' or 'most interesting' among all available objects.

One that is, or is likely to be, chosen for installation, unless it violated any solver policy (see updateCandidateObj).

Note
  Might return a blacklisted item if explicitly set by setCandidate or nothing else available.

Definition at line 74 of file Selectable.cc.

## ◆ candidateObjFrom()

PoolItem zypp::ui::Selectable::candidateObjFrom | ( | Repository | repo_r | ) | const

The best candidate provided by a specific Repository, if there is one.

In contrary to candidateObj, this may return no item even if there are available objects. This simply means the Repository does not provide this object.

Note
  Avoids to return blacklisted items.

Definition at line 77 of file Selectable.cc.

## ◆ updateCandidateObj()

PoolItem zypp::ui::Selectable::updateCandidateObj | ( |  | ) | const

The best candidate for update, if there is one.

In contrary to candidateObj, this may return no item even if there are available objects. This simply means the best object is already installed, and all available objects violate at least one update policy. Or all available objects are blacklisted (e.g. a PTF) in which there does not need to be an installed item either.

Note
  Avoids to return blacklisted items.

Definition at line 80 of file Selectable.cc.

## ◆ highestAvailableVersionObj()

PoolItem zypp::ui::Selectable::highestAvailableVersionObj | ( |  | ) | const

Simply the highest available version, ignoring priorities and policies.

It's doubtful whether solely looking at the version makes a good candidate, but apps ask for it. Beware that different vendors may use different (uncomparable) version schemata.

Note
  Avoids to return blacklisted items.

Definition at line 83 of file Selectable.cc.

## ◆ identIsAutoInstalled()

bool zypp::ui::Selectable::identIsAutoInstalled | ( |  | ) | const

Whether this ident is flagged as AutoInstalled.

Definition at line 86 of file Selectable.cc.

## ◆ identicalAvailable()

bool zypp::ui::Selectable::identicalAvailable | ( | const PoolItem & | rhs | ) | const

`True` if rhs is installed and one with the same content is available.

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

See also
  sat::Solvable::identical

Definition at line 89 of file Selectable.cc.

## ◆ identicalInstalled()

bool zypp::ui::Selectable::identicalInstalled | ( | const PoolItem & | rhs | ) | const

`True` if rhs has the same content as an installed one.

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

See also
  sat::Solvable::identical

Definition at line 92 of file Selectable.cc.

## ◆ identicalInstalledCandidate()

bool zypp::ui::Selectable::identicalInstalledCandidate | ( |  | ) | const
| inline

`True` if the candidateObj is installed (same content).

See also
  identicalInstalled.

Definition at line 176 of file Selectable.h.

## ◆ identicalInstalledUpdateCandidate()

bool zypp::ui::Selectable::identicalInstalledUpdateCandidate | ( |  | ) | const
| inline

`True` if the updateCandidateObj is installed (same content).

See also
  identicalInstalled.

Definition at line 182 of file Selectable.h.

## ◆ identicalAvailableObj()

PoolItem zypp::ui::Selectable::identicalAvailableObj | ( | const PoolItem & | rhs | ) | const

Return an available Object with the same content as `rhs`.

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

See also
  sat::Solvable::identical

Definition at line 95 of file Selectable.cc.

## ◆ identicalInstalledObj()

PoolItem zypp::ui::Selectable::identicalInstalledObj | ( | const PoolItem & | rhs | ) | const

\Return an installed Object with the same content as `rhs`.

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

See also
  sat::Solvable::identical

Definition at line 98 of file Selectable.cc.

## ◆ installedAsKind()

template<class TRes>

ResTraits< TRes >::constPtrType zypp::ui::Selectable::installedAsKind | ( |  | ) | const
| inline

Return the installedObj resolvable casted to a specific kind.

Selectable mySelectable;
Package::constPtr p( mySelectable.installedAsKind<Package>() );
zypp::Package
Package interface.
Definition Package.h:34
zypp::Package::constPtr
TraitsType::constPtrType constPtr
Definition Package.h:39
zypp::ui::Selectable::installedAsKind
ResTraits< TRes >::constPtrType installedAsKind() const
Return the installedObj resolvable casted to a specific kind.
Definition Selectable.h:204
zypp::ui::Selectable::Selectable
Selectable(Impl_Ptr pimpl_r)
Default ctor.
Definition Selectable.cc:37

Definition at line 204 of file Selectable.h.

## ◆ candidateAsKind()

template<class TRes>

ResTraits< TRes >::constPtrType zypp::ui::Selectable::candidateAsKind | ( |  | ) | const
| inline

Return the candidateObj resolvable casted to a specific kind.

Selectable mySelectable;
Package::constPtr p( mySelectable.candidateAsKind<Package>() );
zypp::ui::Selectable::candidateAsKind
ResTraits< TRes >::constPtrType candidateAsKind() const
Return the candidateObj resolvable casted to a specific kind.
Definition Selectable.h:214

Definition at line 214 of file Selectable.h.

## ◆ setCandidate() [1/2]

PoolItem zypp::ui::Selectable::setCandidate | ( | const PoolItem & | newCandidate_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER )

Set a candidate (out of available objects).

Returns
  The new candidate, or NULL if choice was invalid (NULL or not among availableObjs). An invalid choice selects the default candidate. In case the causer is not `ResStatus::USER` the operation may also fail if there are insufficient permissions to change a transacting candidate.

Definition at line 101 of file Selectable.cc.

## ◆ setCandidate() [2/2]

PoolItem zypp::ui::Selectable::setCandidate | ( | const ResObject::constPtr & | newCandidate_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER )

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 104 of file Selectable.cc.

## ◆ setOnSystem()

bool zypp::ui::Selectable::setOnSystem | ( | const PoolItem & | newCandidate_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER )

Arrange the specified candidate (out of available objects) to be on system after commit.

If the specified candidate is not already installed (identicalInstalled), and the causer_r has sufficient permission, then newCandidate_r is set as the new candidate (setCandidate) and selected for installation.

Returns
  `True` if newCandidate_r is already installed or successfully selected for installation.

Definition at line 107 of file Selectable.cc.

## ◆ theObj()

PoolItem zypp::ui::Selectable::theObj | ( |  | ) | const

An object you could use as pars pro toto.

Returns
  the candidateObj, or ,if no available objects exist, the installedObj.

Definition at line 114 of file Selectable.cc.

## ◆ supersededBy()

std::vector< std::string > zypp::ui::Selectable::supersededBy | ( |  | ) | const

The name(s) of the successor package if vendorSupport is VendorSupportSuperseded.

It returns the value for the newest candidate.

See also
  Package::supersededBy

Definition at line 117 of file Selectable.cc.

## ◆ availableEmpty()

bool zypp::ui::Selectable::availableEmpty | ( |  | ) | const

Definition at line 122 of file Selectable.cc.

## ◆ availableSize()

Selectable::available_size_type zypp::ui::Selectable::availableSize | ( |  | ) | const

Definition at line 125 of file Selectable.cc.

## ◆ availableBegin()

Selectable::available_iterator zypp::ui::Selectable::availableBegin | ( |  | ) | const

Definition at line 128 of file Selectable.cc.

## ◆ availableEnd()

Selectable::available_iterator zypp::ui::Selectable::availableEnd | ( |  | ) | const

Definition at line 131 of file Selectable.cc.

## ◆ available()

Iterable< available_iterator > zypp::ui::Selectable::available | ( |  | ) | const
| inline

Definition at line 260 of file Selectable.h.

## ◆ installedEmpty()

bool zypp::ui::Selectable::installedEmpty | ( |  | ) | const

Definition at line 136 of file Selectable.cc.

## ◆ installedSize()

Selectable::installed_size_type zypp::ui::Selectable::installedSize | ( |  | ) | const

Definition at line 139 of file Selectable.cc.

## ◆ installedBegin()

Selectable::installed_iterator zypp::ui::Selectable::installedBegin | ( |  | ) | const

Definition at line 142 of file Selectable.cc.

## ◆ installedEnd()

Selectable::installed_iterator zypp::ui::Selectable::installedEnd | ( |  | ) | const

Definition at line 145 of file Selectable.cc.

## ◆ installed()

Iterable< installed_iterator > zypp::ui::Selectable::installed | ( |  | ) | const
| inline

Definition at line 274 of file Selectable.h.

## ◆ picklistEmpty()

bool zypp::ui::Selectable::picklistEmpty | ( |  | ) | const

Definition at line 150 of file Selectable.cc.

## ◆ picklistSize()

Selectable::picklist_size_type zypp::ui::Selectable::picklistSize | ( |  | ) | const

Definition at line 153 of file Selectable.cc.

## ◆ picklistBegin()

Selectable::picklist_iterator zypp::ui::Selectable::picklistBegin | ( |  | ) | const

Definition at line 156 of file Selectable.cc.

## ◆ picklistEnd()

Selectable::picklist_iterator zypp::ui::Selectable::picklistEnd | ( |  | ) | const

Definition at line 159 of file Selectable.cc.

## ◆ picklist()

Iterable< picklist_iterator > zypp::ui::Selectable::picklist | ( |  | ) | const
| inline

Definition at line 289 of file Selectable.h.

## ◆ picklistPos() [1/2]

Selectable::picklist_size_type zypp::ui::Selectable::picklistPos | ( | const PoolItem & | pi_r | ) | const

Return the position of pi_r in the piclist or picklistNoPos.

Note
  picklistNoPos is returned if you pass an installed Poolitem, whci has an identicalAvailableObj.

Definition at line 162 of file Selectable.cc.

## ◆ picklistPos() [2/2]

Selectable::picklist_size_type zypp::ui::Selectable::picklistPos | ( | const sat::Solvable & | solv_r | ) | const

Definition at line 165 of file Selectable.cc.

## ◆ hasObject()

bool zypp::ui::Selectable::hasObject | ( |  | ) | const
| inline

True if either installed or candidate object is present.

Definition at line 312 of file Selectable.h.

## ◆ hasInstalledObj()

bool zypp::ui::Selectable::hasInstalledObj | ( |  | ) | const
| inline

True if installed object is present.

Definition at line 316 of file Selectable.h.

## ◆ hasCandidateObj()

bool zypp::ui::Selectable::hasCandidateObj | ( |  | ) | const
| inline

True if candidate object is present.

Definition at line 320 of file Selectable.h.

## ◆ hasBothObjects()

bool zypp::ui::Selectable::hasBothObjects | ( |  | ) | const
| inline

True if installed and candidate object is present.

Definition at line 324 of file Selectable.h.

## ◆ hasInstalledObjOnly()

bool zypp::ui::Selectable::hasInstalledObjOnly | ( |  | ) | const
| inline

True if installed object is present but no candidate.

Definition at line 328 of file Selectable.h.

## ◆ hasCandidateObjOnly()

bool zypp::ui::Selectable::hasCandidateObjOnly | ( |  | ) | const
| inline

True if candidate object is present but no installed.

Definition at line 332 of file Selectable.h.

## ◆ hasBlacklisted()

bool zypp::ui::Selectable::hasBlacklisted | ( |  | ) | const

True if this Selectable contains available blacklisted items (retracted,ptf,...).

Definition at line 179 of file Selectable.cc.

## ◆ hasBlacklistedInstalled()

bool zypp::ui::Selectable::hasBlacklistedInstalled | ( |  | ) | const

True if this Selectable contains an installed blacklisted item (retracted,ptf,...).

Definition at line 182 of file Selectable.cc.

## ◆ hasRetracted()

bool zypp::ui::Selectable::hasRetracted | ( |  | ) | const

True if this Selectable contains available retracted items.

Definition at line 185 of file Selectable.cc.

## ◆ hasRetractedInstalled()

bool zypp::ui::Selectable::hasRetractedInstalled | ( |  | ) | const

True if this Selectable contains an installed retracted item.

Definition at line 188 of file Selectable.cc.

## ◆ hasPtf()

bool zypp::ui::Selectable::hasPtf | ( |  | ) | const

True if this Selectable contains available ptf items.

Definition at line 191 of file Selectable.cc.

## ◆ hasPtfInstalled()

bool zypp::ui::Selectable::hasPtfInstalled | ( |  | ) | const

True if this Selectable contains an installed ptf item.

Definition at line 194 of file Selectable.cc.

## ◆ isUnmaintained()

bool zypp::ui::Selectable::isUnmaintained | ( |  | ) | const

True if this package has no replacement from the available repositories.

Definition at line 198 of file Selectable.cc.

## ◆ multiversionInstall()

bool zypp::ui::Selectable::multiversionInstall | ( |  | ) | const

Whether at least one of the available packages has multiversionInstall set.

See also
  Solvable::multiversionInstall
  also ZConfig::multiversion.

Definition at line 201 of file Selectable.cc.

## ◆ pickInstall()

bool zypp::ui::Selectable::pickInstall | ( | const PoolItem & | pi_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER,
|  | bool | yesno_r = true )

Select a specific available item for installation.

Definition at line 204 of file Selectable.cc.

## ◆ pickNoInstall()

bool zypp::ui::Selectable::pickNoInstall | ( | const PoolItem & | pi_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER )
| inline

Deselect a specific available item from installation.

Definition at line 380 of file Selectable.h.

## ◆ pickDelete()

bool zypp::ui::Selectable::pickDelete | ( | const PoolItem & | pi_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER,
|  | bool | yesno_r = true )

Select a specific installed item for deletion.

Definition at line 207 of file Selectable.cc.

## ◆ pickNoDelete()

bool zypp::ui::Selectable::pickNoDelete | ( | const PoolItem & | pi_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER )
| inline

Deselect a specific installed item from deletion.

Definition at line 389 of file Selectable.h.

## ◆ pickStatus()

Status zypp::ui::Selectable::pickStatus | ( | const PoolItem & | pi_r | ) | const

Compute the ui::Status for an individual PoolItem.

This just takes into account the item and any identical installed (or available) one.

Assume there are 3 identical 'foo-1.1 (vendor A)' items,
one 'foo-2.1 (vendor A)' and one ''foo-1.1 (vendor B)':
installed: . foo-1.1 (vendor A) -> S_KeepInstalled
available: foo-2.1 (vendor A) (repo 1) -> S_NoInst
. foo-1.1 (vendor A) (repo 1) -> S_KeepInstalled
. foo-1.1 (vendor A) (repo 2) -> S_KeepInstalled
foo-1.1 (vendor B) (repo 3) -> S_NoInst
After 'foo-1.1 (vendor A) (repo 1)' was selected to be installed:
installed: . foo-1.1 (vendor A) -> S_Update
available: foo-2.1 (vendor A) (repo 1) -> S_NoInst
I foo-1.1 (vendor A) (repo 1) -> S_Update
. foo-1.1 (vendor A) (repo 2) -> S_KeepInstalled
foo-1.1 (vendor B) (repo 3) -> S_NoInst
zypp::repo
Definition DeltaCandidates.cc:30

See also
  sat::Solvable::identical

Definition at line 210 of file Selectable.cc.

## ◆ setPickStatus()

bool zypp::ui::Selectable::setPickStatus | ( | const PoolItem & | pi_r,
|  | Status | state_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER )

Assign a new status to a specific item.

Definition at line 213 of file Selectable.cc.

## ◆ isUndetermined()

bool zypp::ui::Selectable::isUndetermined | ( |  | ) | const

Returns true for packages, because packages are not classified by the solver.

Definition at line 218 of file Selectable.cc.

## ◆ isRelevant()

bool zypp::ui::Selectable::isRelevant | ( |  | ) | const

Returns true if the patch is relevant which means that at least one package of the patch is installed.

Definition at line 221 of file Selectable.cc.

## ◆ isSatisfied()

bool zypp::ui::Selectable::isSatisfied | ( |  | ) | const

Whether a relevant patchs requirements are met.

Definition at line 224 of file Selectable.cc.

## ◆ isBroken()

bool zypp::ui::Selectable::isBroken | ( |  | ) | const

Whether a relevant patchs requirements are broken.

Definition at line 227 of file Selectable.cc.

## ◆ isNeeded()

bool zypp::ui::Selectable::isNeeded | ( |  | ) | const

This includes `unlocked` broken patches, as well as those already selected to be installed.

This is because already selected patches will be classified as `satisfied`. `Locked` but broken patches will be classified as isUnwanted.

Definition at line 230 of file Selectable.cc.

## ◆ isUnwanted()

bool zypp::ui::Selectable::isUnwanted | ( |  | ) | const

Broken (needed) but locked patches.

Definition at line 235 of file Selectable.cc.

## ◆ fate()

Selectable::Fate zypp::ui::Selectable::fate | ( |  | ) | const

Definition at line 252 of file Selectable.cc.

## ◆ unmodified()

bool zypp::ui::Selectable::unmodified | ( |  | ) | const
| inline

True if neither to delete or to install.

Definition at line 467 of file Selectable.h.

## ◆ locked()

bool zypp::ui::Selectable::locked | ( |  | ) | const
| inline

True if locked (subclass of unmodified).

The locked status indicates that all installed and/or all available items are locked. So you can't remove and/or can't install any item. This is the common case.

See also
  hasLocks

Definition at line 476 of file Selectable.h.

## ◆ hasLocks()

bool zypp::ui::Selectable::hasLocks | ( |  | ) | const

True if it includes locked items (don't mix this with the locked status).

This is also `true` for partially locked items, where only specific versions are locked.

See also
  locked

Definition at line 249 of file Selectable.cc.

## ◆ toModify()

bool zypp::ui::Selectable::toModify | ( |  | ) | const
| inline

True if either to delete or to install.

Definition at line 487 of file Selectable.h.

## ◆ toDelete()

bool zypp::ui::Selectable::toDelete | ( |  | ) | const
| inline

True if to delete.

Definition at line 491 of file Selectable.h.

## ◆ toInstall()

bool zypp::ui::Selectable::toInstall | ( |  | ) | const
| inline

True if to install.

Definition at line 495 of file Selectable.h.

## ◆ onSystem()

bool zypp::ui::Selectable::onSystem | ( |  | ) | const
| inline

True if would be on system after commit.

Definition at line 499 of file Selectable.h.

## ◆ offSystem()

bool zypp::ui::Selectable::offSystem | ( |  | ) | const
| inline

True if would be off system after commit.

Definition at line 504 of file Selectable.h.

## ◆ setFate()

bool zypp::ui::Selectable::setFate | ( | Fate | fate_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER )

Definition at line 276 of file Selectable.cc.

## ◆ setToInstall()

bool zypp::ui::Selectable::setToInstall | ( | ResStatus::TransactByValue | causer_r = ResStatus::USER | ) |
| inline

Set the item to be installed (new- or re-install).

Definition at line 511 of file Selectable.h.

## ◆ setInstalled()

bool zypp::ui::Selectable::setInstalled | ( | ResStatus::TransactByValue | causer_r = ResStatus::USER | ) |

Take care the item gets installed if it is not.

Definition at line 303 of file Selectable.cc.

## ◆ setUpToDate()

bool zypp::ui::Selectable::setUpToDate | ( | ResStatus::TransactByValue | causer_r = ResStatus::USER | ) |

Take care the item gets installed if it is not, or is older.

Definition at line 308 of file Selectable.cc.

## ◆ setToDelete()

bool zypp::ui::Selectable::setToDelete | ( | ResStatus::TransactByValue | causer_r = ResStatus::USER | ) |
| inline

Set the item to be deleted (must be installed).

Definition at line 521 of file Selectable.h.

## ◆ setDeleted()

bool zypp::ui::Selectable::setDeleted | ( | ResStatus::TransactByValue | causer_r = ResStatus::USER | ) |

Take care the item gets deleted if it is installed.

Definition at line 321 of file Selectable.cc.

## ◆ unset()

bool zypp::ui::Selectable::unset | ( | ResStatus::TransactByValue | causer_r = ResStatus::USER | ) |
| inline

Set the item to stay unmodified.

Definition at line 528 of file Selectable.h.

## ◆ status()

Status zypp::ui::Selectable::status | ( |  | ) | const

Return the current Status.

Definition at line 65 of file Selectable.cc.

## ◆ setStatus()

bool zypp::ui::Selectable::setStatus | ( | Status | state_r,
|  | ResStatus::TransactByValue | causer_r = ResStatus::USER )

Try to set a new Status.

Returns `false` if the transitions is not allowed.

Definition at line 68 of file Selectable.cc.

## ◆ modifiedBy()

ResStatus::TransactByValue zypp::ui::Selectable::modifiedBy | ( |  | ) | const

Return who caused the modification.

Definition at line 240 of file Selectable.cc.

## ◆ hasLicenceConfirmed()

bool zypp::ui::Selectable::hasLicenceConfirmed | ( |  | ) | const

Return value of LicenceConfirmed bit.

Definition at line 243 of file Selectable.cc.

## ◆ setLicenceConfirmed()

void zypp::ui::Selectable::setLicenceConfirmed | ( | bool | val_r = true | ) |

Set LicenceConfirmed bit.

Definition at line 246 of file Selectable.cc.

## Friends And Related Symbol Documentation

## ◆ operator<<

std::ostream & operator<< | ( | std::ostream & | str,
|  | const Selectable & | obj )
| friend

relates: Selectable Stream output

Definition at line 331 of file Selectable.cc.

## ◆ dumpOn

std::ostream & dumpOn | ( | std::ostream & | str,
|  | const Selectable & | obj )
| friend

relates: Selectable More verbose stream output

Definition at line 334 of file Selectable.cc.

## Member Data Documentation

## ◆ picklistNoPos

const picklist_size_type zypp::ui::Selectable::picklistNoPos = picklist_size_type(-1)
| staticconstexpr

Returned by picklistPos if the Item does not belong to the picklist.

Definition at line 293 of file Selectable.h.

## ◆ _pimpl

RW_pointer<Impl> zypp::ui::Selectable::_pimpl
| private

Pointer to implementation.

Definition at line 570 of file Selectable.h.

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

- zypp/ui/Selectable.h
- zypp/ui/Selectable.cc