libzypp 17.37.17
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_iteratoravailable () 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_iteratorinstalled () 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.
ReferenceCountedoperator= (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)
std::ostream & dumpOn (std::ostream &str, const Selectable &obj)

(Note that these are not member symbols.)

std::ostream & operator<< (std::ostream &str, const Selectable &obj) ZYPP_API
 Stream output.
std::ostream & dumpOn (std::ostream &str, const Selectable &obj) ZYPP_API
 More verbose stream output.
std::ostream & operator<< (std::ostream &str, const Selectable::Impl &obj)
 Stream output.
std::ostream & dumpOn (std::ostream &str, const Selectable::Impl &obj)
 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_iteratorpicklist () 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.

item = Selectable::get( "amarok ); // package amamrok
item = Selectable::get( ResKind::patch, "amarok ); // patch amamrok
item = Selectable::get( IdString( "patch:amarok" ); // patch amamrok
Access to the sat-pools string space.
Definition IdString.h:44
static Ptr get(const pool::ByIdent &ident_r)
Get the Selctable.
Definition Selectable.cc:29
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

Definition at line 58 of file Selectable.h.

◆ constPtr

Definition at line 59 of file Selectable.h.

◆ available_iterator

◆ available_size_type

◆ installed_iterator

◆ installed_size_type

◆ picklist_iterator

◆ picklist_size_type

◆ Impl_Ptr

Definition at line 562 of file Selectable.h.

Member Enumeration Documentation

◆ 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 interface.
Definition Package.h:34
TraitsType::constPtrType constPtr
Definition Package.h:39
ResTraits< TRes >::constPtrType installedAsKind() const
Return the installedObj resolvable casted to a specific kind.
Definition Selectable.h:204
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;
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
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.

◆ operator<< [1/3]

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

Definition at line 331 of file Selectable.cc.

◆ dumpOn [1/3]

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

Definition at line 334 of file Selectable.cc.

◆ operator<<() [2/3]

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

Stream output.

Definition at line 331 of file Selectable.cc.

◆ dumpOn() [2/3]

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

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: