libzypp 8.13.6
Public Member Functions | Private Member Functions | Private Attributes | Friends

zypp::solver::detail::SATResolver Class Reference

#include <SATResolver.h>

Inheritance diagram for zypp::solver::detail::SATResolver:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 SATResolver (const ResPool &pool, Pool *SATPool)
virtual ~SATResolver ()
virtual std::ostream & dumpOn (std::ostream &str) const
 Overload to realize std::ostream & operator<<.
ResPool pool (void) const
void setPool (const ResPool &pool)
bool resolvePool (const CapabilitySet &requires_caps, const CapabilitySet &conflict_caps, const PoolItemList &weakItems, const std::set< Repository > &upgradeRepos)
bool resolveQueue (const SolverQueueItemList &requestQueue, const PoolItemList &weakItems)
void doUpdate ()
ResolverProblemList problems ()
void applySolutions (const ProblemSolutionList &solutions)
void addPoolItemToInstall (PoolItem item)
void addPoolItemsToInstallFromList (PoolItemList &rl)
void addPoolItemToLock (PoolItem item)
void addPoolItemToKeep (PoolItem item)
void addPoolItemToRemove (PoolItem item)
void addPoolItemsToRemoveFromList (PoolItemList &rl)
bool fixsystem () const
void setFixsystem (const bool fixsystem)
bool ignorealreadyrecommended () const
void setIgnorealreadyrecommended (const bool ignorealreadyrecommended)
bool distupgrade () const
void setDistupgrade (const bool distupgrade)
bool distupgrade_removeunsupported () const
void setDistupgrade_removeunsupported (const bool distupgrade_removeunsupported)
bool allowdowngrade () const
void setAllowdowngrade (const bool allowdowngrade)
bool allowarchchange () const
void setAllowarchchange (const bool allowarchchange)
bool allowvendorchange () const
void setAllowvendorchange (const bool allowvendorchange)
bool allowuninstall () const
void setAllowuninstall (const bool allowuninstall)
bool updatesystem () const
void setUpdatesystem (const bool updatesystem)
bool noupdateprovide () const
void setNoupdateprovide (const bool noupdateprovide)
bool dosplitprovides () const
void setDosplitprovides (const bool dosplitprovides)
bool onlyRequires () const
void setOnlyRequires (const bool onlyRequires)
bool solveSrcPackages () const
void setSolveSrcPackages (bool state_r)
bool cleandepsOnRemove () const
void setCleandepsOnRemove (bool state_r)
PoolItemList problematicUpdateItems (void) const
PoolItemList resultItemsToInstall ()
PoolItemList resultItemsToRemove ()
PoolItemList problematicUpdateItems ()

Private Member Functions

std::string SATprobleminfoString (Id problem, std::string &detail, Id &ignoreId)
void resetItemTransaction (PoolItem item)
void solverInit (const PoolItemList &weakItems)
bool solving (const CapabilitySet &requires_caps=CapabilitySet(), const CapabilitySet &conflict_caps=CapabilitySet())
void solverEnd ()
void setLocks ()
void setSystemRequirements ()
sat::Solvable mapSolvable (const Id &id)
PoolItem mapItem (const PoolItem &item)

Private Attributes

ResPool _pool
Pool * _SATPool
Solver * _solv
Queue _jobQueue
PoolItemList _problem_items
PoolItemList _items_to_install
PoolItemList _items_to_remove
PoolItemList _items_to_lock
PoolItemList _items_to_keep
PoolItemList _result_items_to_install
PoolItemList _result_items_to_remove
bool _fixsystem
bool _allowdowngrade
bool _allowarchchange
bool _allowvendorchange
bool _allowuninstall
bool _updatesystem
bool _noupdateprovide
bool _dosplitprovides
bool _onlyRequires
bool _ignorealreadyrecommended
bool _distupgrade
bool _distupgrade_removeunsupported
bool _solveSrcPackages
bool _cleandepsOnRemove

Friends

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

Detailed Description

Todo:
The way solver options are passed as individual booleans from Resolver via solver::detail::Resolver to SATResolver is pedestrian and error prone.

Introdce a dedicated solver option structure which is passed down as a whole.

Definition at line 66 of file SATResolver.h.


Constructor & Destructor Documentation

zypp::solver::detail::SATResolver::SATResolver ( const ResPool pool,
Pool *  SATPool 
)

Definition at line 135 of file SATResolver.cc.

zypp::solver::detail::SATResolver::~SATResolver ( ) [virtual]

Definition at line 157 of file SATResolver.cc.


Member Function Documentation

string zypp::solver::detail::SATResolver::SATprobleminfoString ( Id  problem,
std::string &  detail,
Id &  ignoreId 
) [private]
void zypp::solver::detail::SATResolver::resetItemTransaction ( PoolItem  item) [private]
void zypp::solver::detail::SATResolver::solverInit ( const PoolItemList weakItems) [private]

Definition at line 267 of file Resolver.cc.

References zypp::solver::detail::Testcase::createTestcase(), and MIL.

Referenced by doUpdate(), resolvePool(), and resolveQueue().

bool zypp::solver::detail::SATResolver::solving ( const CapabilitySet requires_caps = CapabilitySet(),
const CapabilitySet conflict_caps = CapabilitySet() 
) [private]

Definition at line 420 of file SATResolver.cc.

References _allowarchchange, _allowdowngrade, _allowuninstall, _allowvendorchange, _distupgrade, _distupgrade_removeunsupported, _dosplitprovides, _fixsystem, _ignorealreadyrecommended, _jobQueue, _noupdateprovide, _onlyRequires, _pool, _problem_items, _result_items_to_install, _result_items_to_remove, _SATPool, _solv, _updatesystem, _XDEBUG, zypp::ResStatus::APPL_LOW, zypp::sat::WhatProvides::begin(), zypp::ResPool::begin(), zypp::ResPool::byIdentBegin(), zypp::ResPool::byIdentEnd(), zypp::sat::WhatProvides::end(), zypp::ResPool::end(), ERR, zypp::ResPool::find(), for_, zypp::solver::detail::getPoolItem(), zypp::sat::Pool::instance(), zypp::invokeOnEach(), zypp::solver::detail::CheckIfUpdate::is_updated, zypp::sat::Solvable::isSystem(), zypp::ResStatus::isToBeInstalled(), zypp::ResStatus::isToBeUninstalled(), MIL, zypp::solver::detail::SATSolutionToPool(), zypp::ResStatus::setBroken(), zypp::ResStatus::setNonRelevant(), zypp::ResStatus::setOrphaned(), zypp::ResStatus::setRecommended(), zypp::ResStatus::setSatisfied(), zypp::ResStatus::setSuggested(), zypp::ResStatus::setToBeUninstalledDueToObsolete(), zypp::ResStatus::setTransactByValue(), zypp::ResStatus::setUndetermined(), zypp::Repository::solvablesBegin(), zypp::Repository::solvablesEmpty(), zypp::Repository::solvablesEnd(), zypp::ResStatus::SOLVER, zypp::PoolItem::status(), zypp::ResStatus::toBeInstalled, zypp::ResStatus::toBeUninstalled, zypp::ResStatus::toBeUninstalledDueToUpgrade, and zypp::solver::detail::vendorCheck().

Referenced by resolvePool(), and resolveQueue().

void zypp::solver::detail::SATResolver::solverEnd ( ) [private]

Definition at line 674 of file SATResolver.cc.

References _jobQueue, and _solv.

Referenced by doUpdate(), resolvePool(), and resolveQueue().

void zypp::solver::detail::SATResolver::setLocks ( ) [private]
void zypp::solver::detail::SATResolver::setSystemRequirements ( ) [private]
sat::Solvable zypp::solver::detail::SATResolver::mapSolvable ( const Id &  id) [private]

Definition at line 942 of file SATResolver.cc.

References _pool, zypp::ResPool::find(), mapItem(), and zypp::PoolItem::satSolvable().

Referenced by problems(), and SATprobleminfoString().

PoolItem zypp::solver::detail::SATResolver::mapItem ( const PoolItem item) [private]

Definition at line 929 of file SATResolver.cc.

References _pool, zypp::PoolItem::buddy(), and zypp::ResPool::find().

Referenced by mapSolvable(), and SATprobleminfoString().

std::ostream & zypp::solver::detail::SATResolver::dumpOn ( std::ostream &  str) const [virtual]

Overload to realize std::ostream & operator<<.

Reimplemented from zypp::base::ReferenceCounted.

Definition at line 109 of file SATResolver.cc.

ResPool zypp::solver::detail::SATResolver::pool ( void  ) const

Definition at line 165 of file SATResolver.cc.

References _pool.

Referenced by problems(), SATprobleminfoString(), setPool(), and setSystemRequirements().

void zypp::solver::detail::SATResolver::setPool ( const ResPool pool) [inline]

Definition at line 139 of file SATResolver.h.

References _pool, and pool().

bool zypp::solver::detail::SATResolver::resolvePool ( const CapabilitySet requires_caps,
const CapabilitySet conflict_caps,
const PoolItemList weakItems,
const std::set< Repository > &  upgradeRepos 
)
bool zypp::solver::detail::SATResolver::resolveQueue ( const SolverQueueItemList requestQueue,
const PoolItemList weakItems 
)
void zypp::solver::detail::SATResolver::doUpdate ( )
ResolverProblemList zypp::solver::detail::SATResolver::problems ( )
void zypp::solver::detail::SATResolver::applySolutions ( const ProblemSolutionList solutions)

Definition at line 1375 of file SATResolver.cc.

References _pool.

void zypp::solver::detail::SATResolver::addPoolItemToInstall ( PoolItem  item)
void zypp::solver::detail::SATResolver::addPoolItemsToInstallFromList ( PoolItemList rl)

Definition at line 226 of file SATResolver.cc.

References addPoolItemToInstall().

void zypp::solver::detail::SATResolver::addPoolItemToLock ( PoolItem  item)
void zypp::solver::detail::SATResolver::addPoolItemToKeep ( PoolItem  item)
void zypp::solver::detail::SATResolver::addPoolItemToRemove ( PoolItem  item)
void zypp::solver::detail::SATResolver::addPoolItemsToRemoveFromList ( PoolItemList rl)

Definition at line 244 of file SATResolver.cc.

References addPoolItemToRemove().

bool zypp::solver::detail::SATResolver::fixsystem ( ) const [inline]

Definition at line 166 of file SATResolver.h.

References _fixsystem.

Referenced by setFixsystem().

void zypp::solver::detail::SATResolver::setFixsystem ( const bool  fixsystem) [inline]

Definition at line 167 of file SATResolver.h.

References _fixsystem, and fixsystem().

bool zypp::solver::detail::SATResolver::ignorealreadyrecommended ( ) const [inline]

Definition at line 169 of file SATResolver.h.

References _ignorealreadyrecommended.

Referenced by setIgnorealreadyrecommended().

void zypp::solver::detail::SATResolver::setIgnorealreadyrecommended ( const bool  ignorealreadyrecommended) [inline]

Definition at line 170 of file SATResolver.h.

References _ignorealreadyrecommended, and ignorealreadyrecommended().

bool zypp::solver::detail::SATResolver::distupgrade ( ) const [inline]

Definition at line 172 of file SATResolver.h.

References _distupgrade.

Referenced by setDistupgrade().

void zypp::solver::detail::SATResolver::setDistupgrade ( const bool  distupgrade) [inline]

Definition at line 173 of file SATResolver.h.

References _distupgrade, and distupgrade().

bool zypp::solver::detail::SATResolver::distupgrade_removeunsupported ( ) const [inline]

Definition at line 175 of file SATResolver.h.

References _distupgrade_removeunsupported.

Referenced by setDistupgrade_removeunsupported().

void zypp::solver::detail::SATResolver::setDistupgrade_removeunsupported ( const bool  distupgrade_removeunsupported) [inline]
bool zypp::solver::detail::SATResolver::allowdowngrade ( ) const [inline]

Definition at line 178 of file SATResolver.h.

References _allowdowngrade.

Referenced by setAllowdowngrade().

void zypp::solver::detail::SATResolver::setAllowdowngrade ( const bool  allowdowngrade) [inline]

Definition at line 179 of file SATResolver.h.

References _allowdowngrade, and allowdowngrade().

bool zypp::solver::detail::SATResolver::allowarchchange ( ) const [inline]

Definition at line 181 of file SATResolver.h.

References _allowarchchange.

Referenced by setAllowarchchange().

void zypp::solver::detail::SATResolver::setAllowarchchange ( const bool  allowarchchange) [inline]

Definition at line 182 of file SATResolver.h.

References _allowarchchange, and allowarchchange().

bool zypp::solver::detail::SATResolver::allowvendorchange ( ) const [inline]

Definition at line 184 of file SATResolver.h.

References _allowvendorchange.

Referenced by setAllowvendorchange().

void zypp::solver::detail::SATResolver::setAllowvendorchange ( const bool  allowvendorchange) [inline]

Definition at line 185 of file SATResolver.h.

References _allowvendorchange, and allowvendorchange().

bool zypp::solver::detail::SATResolver::allowuninstall ( ) const [inline]

Definition at line 187 of file SATResolver.h.

References _allowuninstall.

Referenced by setAllowuninstall().

void zypp::solver::detail::SATResolver::setAllowuninstall ( const bool  allowuninstall) [inline]

Definition at line 188 of file SATResolver.h.

References _allowuninstall, and allowuninstall().

bool zypp::solver::detail::SATResolver::updatesystem ( ) const [inline]

Definition at line 190 of file SATResolver.h.

References _updatesystem.

Referenced by setUpdatesystem().

void zypp::solver::detail::SATResolver::setUpdatesystem ( const bool  updatesystem) [inline]

Definition at line 191 of file SATResolver.h.

References _updatesystem, and updatesystem().

bool zypp::solver::detail::SATResolver::noupdateprovide ( ) const [inline]

Definition at line 193 of file SATResolver.h.

References _noupdateprovide.

Referenced by setNoupdateprovide().

void zypp::solver::detail::SATResolver::setNoupdateprovide ( const bool  noupdateprovide) [inline]

Definition at line 194 of file SATResolver.h.

References _noupdateprovide, and noupdateprovide().

bool zypp::solver::detail::SATResolver::dosplitprovides ( ) const [inline]

Definition at line 196 of file SATResolver.h.

References _dosplitprovides.

Referenced by setDosplitprovides().

void zypp::solver::detail::SATResolver::setDosplitprovides ( const bool  dosplitprovides) [inline]

Definition at line 197 of file SATResolver.h.

References _dosplitprovides, and dosplitprovides().

bool zypp::solver::detail::SATResolver::onlyRequires ( ) const [inline]

Definition at line 199 of file SATResolver.h.

References _onlyRequires.

Referenced by setOnlyRequires().

void zypp::solver::detail::SATResolver::setOnlyRequires ( const bool  onlyRequires) [inline]

Definition at line 200 of file SATResolver.h.

References _onlyRequires, and onlyRequires().

bool zypp::solver::detail::SATResolver::solveSrcPackages ( ) const [inline]

Definition at line 202 of file SATResolver.h.

References _solveSrcPackages.

Referenced by zypp::solver::detail::SATCollectTransact::operator()().

void zypp::solver::detail::SATResolver::setSolveSrcPackages ( bool  state_r) [inline]

Definition at line 203 of file SATResolver.h.

References _solveSrcPackages.

bool zypp::solver::detail::SATResolver::cleandepsOnRemove ( ) const [inline]

Definition at line 205 of file SATResolver.h.

References _cleandepsOnRemove.

void zypp::solver::detail::SATResolver::setCleandepsOnRemove ( bool  state_r) [inline]

Definition at line 206 of file SATResolver.h.

References _cleandepsOnRemove.

PoolItemList zypp::solver::detail::SATResolver::problematicUpdateItems ( void  ) const [inline]

Definition at line 208 of file SATResolver.h.

References _problem_items.

PoolItemList zypp::solver::detail::SATResolver::resultItemsToInstall ( ) [inline]

Definition at line 210 of file SATResolver.h.

References _result_items_to_install.

PoolItemList zypp::solver::detail::SATResolver::resultItemsToRemove ( ) [inline]

Definition at line 211 of file SATResolver.h.

References _result_items_to_remove.

PoolItemList zypp::solver::detail::SATResolver::problematicUpdateItems ( void  ) [inline]

Definition at line 212 of file SATResolver.h.

References _problem_items.


Friends And Related Function Documentation

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

Definition at line 135 of file SATResolver.h.


Member Data Documentation

Definition at line 69 of file SATResolver.h.

Referenced by applySolutions(), doUpdate(), mapItem(), mapSolvable(), pool(), problems(), setPool(), and solving().

Definition at line 70 of file SATResolver.h.

Referenced by doUpdate(), and solving().

Definition at line 71 of file SATResolver.h.

Referenced by doUpdate(), problems(), SATprobleminfoString(), solverEnd(), and solving().

Definition at line 75 of file SATResolver.h.

Referenced by problematicUpdateItems(), and solving().

Definition at line 79 of file SATResolver.h.

Referenced by addPoolItemToRemove(), resetItemTransaction(), resolvePool(), and resolveQueue().

Definition at line 80 of file SATResolver.h.

Referenced by addPoolItemToLock(), resetItemTransaction(), and setLocks().

Definition at line 81 of file SATResolver.h.

Referenced by addPoolItemToKeep(), resetItemTransaction(), and setLocks().

Definition at line 84 of file SATResolver.h.

Referenced by resultItemsToInstall(), and solving().

Definition at line 85 of file SATResolver.h.

Referenced by resultItemsToRemove(), and solving().

Definition at line 87 of file SATResolver.h.

Referenced by doUpdate(), fixsystem(), setFixsystem(), and solving().

Definition at line 88 of file SATResolver.h.

Referenced by allowdowngrade(), doUpdate(), setAllowdowngrade(), and solving().

Definition at line 89 of file SATResolver.h.

Referenced by allowarchchange(), doUpdate(), setAllowarchchange(), and solving().

Definition at line 90 of file SATResolver.h.

Referenced by allowvendorchange(), doUpdate(), setAllowvendorchange(), and solving().

Definition at line 91 of file SATResolver.h.

Referenced by allowuninstall(), doUpdate(), setAllowuninstall(), and solving().

Definition at line 92 of file SATResolver.h.

Referenced by setUpdatesystem(), solving(), and updatesystem().

Definition at line 93 of file SATResolver.h.

Referenced by doUpdate(), noupdateprovide(), setNoupdateprovide(), and solving().

Definition at line 94 of file SATResolver.h.

Referenced by dosplitprovides(), setDosplitprovides(), and solving().

Definition at line 95 of file SATResolver.h.

Referenced by doUpdate(), onlyRequires(), setOnlyRequires(), and solving().

Definition at line 97 of file SATResolver.h.

Referenced by distupgrade(), doUpdate(), setDistupgrade(), setSystemRequirements(), and solving().

Definition at line 99 of file SATResolver.h.

Referenced by setSolveSrcPackages(), and solveSrcPackages().

Definition at line 100 of file SATResolver.h.

Referenced by cleandepsOnRemove(), and setCleandepsOnRemove().


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