131 template <
class TIter>
191 if ( !
cand->multiversionInstall() )
249 it->status().setTransact(
false,
causer );
250 it->status().setLock(
true,
causer );
456 std::vector<PoolItem>
i;
457 std::vector<PoolItem>
a;
460 if ( identical( *
it,
pi_r ) )
463 if ( identical( *
it,
pi_r ) )
502 if (
i.empty() && !
a.empty() )
505 if ( cand.multiversionInstall() )
510 if ( ! cand.status().setTransact(
true,
causer_r ) )
return backup.
restore();
527 if ( !
i.empty() && !
a.empty() )
530 if ( cand.multiversionInstall() )
537 if ( ! cand.status().setTransact(
true,
causer_r ) )
return backup.
restore();
575 if (
pi_r.satSolvable().ident() !=
ident() )
578 std::vector<PoolItem>
i;
579 std::vector<PoolItem>
a;
584 if ( identical( *
it,
pi_r ) )
587 if ( !
ti &&
it->status().transacts() )
592 if ( identical( *
it,
pi_r ) )
595 if ( !
ta &&
it->status().transacts() )
601 if (
ta.status().isByUser() )
613 if (
it->status().isLocked() )
620 if ( !
it->status().isLocked() )
634 && (
ta ?
ta : *
a.begin() ).
status().isSatisfied() )
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Combining sat::Solvable and ResStatus.
ResStatus & status() const
Returns the current status.
bool setTransact(bool toTansact_r, TransactByValue causer_r)
Toggle between TRANSACT and KEEP_STATE.
bool setLock(bool toLock_r, TransactByValue causer_r)
Apply a lock (prevent transaction).
TransactByValue getTransactByValue() const
bool setStatus(Status state_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
Try to set a new Status.
available_iterator availableEnd() const
installed_iterator installedBegin() const
PoolItem installedObj() const
The last Installed object.
IdString ident() const
The identifier.
installed_iterator installedEnd() const
available_iterator availableBegin() const
PoolItem setCandidate(const PoolItem &newCandidate_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
Set a candidate (out of available objects).
PoolItem candidateObj() const
The 'best' or 'most interesting' among all available objects.
bool setPickStatus(const PoolItem &pi_r, Status state_r, ResStatus::TransactByValue causer_r=ResStatus::USER)
Assign a new status to a specific item.
Status status() const
Return the current Status.
bool identicalInstalled(const PoolItem &rhs) const
True if rhs has the same content as an installed one.
ResKind kind() const
The ResObjects kind.
bool installedEmpty() const
Simple ResStatus backup stack.
bool lock(const PoolItem &pi_r, Causer causer_r)
highlevel set locked.
bool transact(const PoolItem &pi_r, Causer causer_r)
highevel set transact (force unlock).
bool(StatusBackup::*)(const PoolItem &, Causer) Action
Highlevel action.
bool forEach(TIter begin_r, TIter end_r, Action action_r, Causer causer_r)
Highlevel action on range of items.
bool setTransact(const PoolItem &pi_r, bool yesno_r, Causer causer_r)
lowlevel ResStatus::setTransact
bool unsetNonMultiTransact(const PoolItem &pi_r, Causer causer_r)
highlevel remove transact from non-multiversion packages.
bool unsetMultiTransact(const PoolItem &pi_r, Causer causer_r)
highlevel remove transact from multiversion packages.
bool setTransactTrue(const PoolItem &pi_r, Causer causer_r)
lowlevel ResStatus::setTransact(true).
bool setTransactFalse(const PoolItem &pi_r, Causer causer_r)
lowlevel ResStatus::setTransact(false).
bool unlock(const PoolItem &pi_r, Causer causer_r)
highlevel unlock (also unsets transact).
ResStatus & backup(ResStatus &status_r)
Backup status.
std::vector< resstatus::StatusBackup > _backup
ResStatus & operator()(ResStatus &status_r)
Backup status.
ResStatus & backup(const PoolItem &pi_r)
This is an overloaded member function, provided for convenience. It differs from the above function o...
ResStatus & operator()(const PoolItem &pi_r)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool restore()
Restore all status.
bool setLock(const PoolItem &pi_r, bool yesno_r, Causer causer_r)
lowlevel ResStatus::setLock
bool isPseudoInstalled(const ResKind &kind_r)
Those are denoted to be installed, if the solver verifies them as being satisfied.
Status
UI status Status values calculated by Selectable.
Easy-to use interface to the ZYPP dependency resolver.
Selectable implementation.
PoolItem installedObj() const
Installed object (transacting ot highest version).
installed_iterator installedEnd() const
bool allInstalledLocked() const
bool setPickStatus(const PoolItem &pi_r, Status state_r, ResStatus::TransactByValue causer_r)
available_iterator availableBegin() const
installed_iterator installedBegin() const
SelectableTraits::available_const_iterator available_const_iterator
available_iterator availableEnd() const
bool pickInstall(const PoolItem &pi_r, ResStatus::TransactByValue causer_r, bool yesno_r)
bool setStatus(Status state_r, ResStatus::TransactByValue causer_r)
ResStatus::TransactByValue modifiedBy() const
Return who caused the modification.
PoolItem candidateObj() const
Best among available objects.
Status pickStatus(const PoolItem &pi_r) const
PoolItem setCandidate(const PoolItem &newCandidate_r, ResStatus::TransactByValue causer_r)
Set a userCandidate (out of available objects).
bool pickDelete(const PoolItem &pi_r, ResStatus::TransactByValue causer_r, bool yesno_r)
bool allCandidatesLocked() const
bool hasCandidateOnly() const
bool hasInstalled() const
bool resetTransactingCandidates()
Selectable::Impl::available_const_iterator available_const_iterator
ResStatus::TransactByValue causer
bool hasInstalledOnly() const
const Selectable::Impl & _impl
StatusHelper(const Selectable::Impl &impl, ResStatus::TransactByValue causer_r)
bool hasCandidate() const
#define for_(IT, BEG, END)
Convenient for-loops using iterator.