libzypp  14.47.0
zypp::solver::detail::SATResolver Class Reference

#include <SATResolver.h>

Inheritance diagram for zypp::solver::detail::SATResolver:

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<<. More...
 
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 ()
 
sat::StringQueue autoInstalled () const
 
sat::StringQueue userInstalled () const
 
- Public Member Functions inherited from zypp::base::ReferenceCounted
 ReferenceCounted ()
 Default ctor. More...
 
 ReferenceCounted (const ReferenceCounted &rhs)
 Copy ctor. More...
 
virtual ~ReferenceCounted ()
 Dtor. More...
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment. More...
 
unsigned refCount () const
 Return reference counter value. More...
 
void ref () const
 Add a reference. More...
 
void unref () const
 Release a reference. More...
 

Public Attributes

bool _fixsystem:1
 
bool _allowdowngrade:1
 
bool _allowarchchange:1
 
bool _allowvendorchange:1
 
bool _allowuninstall:1
 
bool _updatesystem:1
 
bool _noupdateprovide:1
 
bool _dosplitprovides:1
 
bool _onlyRequires:1
 
bool _ignorealreadyrecommended:1
 
bool _distupgrade:1
 
bool _distupgrade_removeunsupported:1
 
bool _dup_allowdowngrade:1
 
bool _dup_allownamechange:1
 
bool _dup_allowarchchange:1
 
bool _dup_allowvendorchange:1
 
bool _solveSrcPackages:1
 
bool _cleandepsOnRemove:1
 

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
 

Friends

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

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. More...
 
static void release (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference. More...
 
- Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual void ref_to (unsigned) const
 Trigger derived classes after refCount was increased. More...
 
virtual void unref_to (unsigned) const
 Trigger derived classes after refCount was decreased. More...
 

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 71 of file SATResolver.h.

Constructor & Destructor Documentation

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

Definition at line 170 of file SATResolver.cc.

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

Definition at line 196 of file SATResolver.cc.

Member Function Documentation

string zypp::solver::detail::SATResolver::SATprobleminfoString ( Id  problem,
std::string &  detail,
Id &  ignoreId 
)
private

Definition at line 1031 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::resetItemTransaction ( PoolItem  item)
private

Definition at line 210 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::solverInit ( const PoolItemList weakItems)
private

Definition at line 679 of file SATResolver.cc.

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

Definition at line 458 of file SATResolver.cc.

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

Definition at line 750 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::setLocks ( )
private

Definition at line 1467 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::setSystemRequirements ( )
private

Definition at line 1501 of file SATResolver.cc.

sat::Solvable zypp::solver::detail::SATResolver::mapSolvable ( const Id &  id)
private

Definition at line 1028 of file SATResolver.cc.

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

Definition at line 1025 of file SATResolver.cc.

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 130 of file SATResolver.cc.

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

Definition at line 204 of file SATResolver.cc.

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

Definition at line 149 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::resolvePool ( const CapabilitySet requires_caps,
const CapabilitySet conflict_caps,
const PoolItemList weakItems,
const std::set< Repository > &  upgradeRepos 
)

Definition at line 763 of file SATResolver.cc.

bool zypp::solver::detail::SATResolver::resolveQueue ( const SolverQueueItemList requestQueue,
const PoolItemList weakItems 
)

Definition at line 829 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::doUpdate ( )
Todo:
duplicate code to be joined with solving.

Definition at line 874 of file SATResolver.cc.

ResolverProblemList zypp::solver::detail::SATResolver::problems ( )

Definition at line 1170 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::applySolutions ( const ProblemSolutionList solutions)

Definition at line 1456 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::addPoolItemToInstall ( PoolItem  item)

Definition at line 255 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::addPoolItemsToInstallFromList ( PoolItemList rl)

Definition at line 264 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::addPoolItemToLock ( PoolItem  item)

Definition at line 290 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::addPoolItemToKeep ( PoolItem  item)

Definition at line 298 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::addPoolItemToRemove ( PoolItem  item)

Definition at line 273 of file SATResolver.cc.

void zypp::solver::detail::SATResolver::addPoolItemsToRemoveFromList ( PoolItemList rl)

Definition at line 282 of file SATResolver.cc.

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

Definition at line 176 of file SATResolver.h.

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

Definition at line 177 of file SATResolver.h.

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

Definition at line 179 of file SATResolver.h.

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

Definition at line 180 of file SATResolver.h.

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

Definition at line 182 of file SATResolver.h.

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

Definition at line 183 of file SATResolver.h.

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

Definition at line 185 of file SATResolver.h.

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

Definition at line 186 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::allowdowngrade ( ) const
inline

Definition at line 188 of file SATResolver.h.

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

Definition at line 189 of file SATResolver.h.

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

Definition at line 191 of file SATResolver.h.

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

Definition at line 192 of file SATResolver.h.

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

Definition at line 194 of file SATResolver.h.

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

Definition at line 195 of file SATResolver.h.

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

Definition at line 197 of file SATResolver.h.

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

Definition at line 198 of file SATResolver.h.

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

Definition at line 200 of file SATResolver.h.

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

Definition at line 201 of file SATResolver.h.

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

Definition at line 203 of file SATResolver.h.

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

Definition at line 204 of file SATResolver.h.

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

Definition at line 206 of file SATResolver.h.

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

Definition at line 207 of file SATResolver.h.

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

Definition at line 209 of file SATResolver.h.

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

Definition at line 210 of file SATResolver.h.

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

Definition at line 212 of file SATResolver.h.

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

Definition at line 213 of file SATResolver.h.

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

Definition at line 215 of file SATResolver.h.

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

Definition at line 216 of file SATResolver.h.

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

Definition at line 218 of file SATResolver.h.

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

Definition at line 220 of file SATResolver.h.

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

Definition at line 221 of file SATResolver.h.

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

Definition at line 222 of file SATResolver.h.

sat::StringQueue zypp::solver::detail::SATResolver::autoInstalled ( ) const

Definition at line 1537 of file SATResolver.cc.

sat::StringQueue zypp::solver::detail::SATResolver::userInstalled ( ) const

Definition at line 1545 of file SATResolver.cc.

Friends And Related Function Documentation

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

Definition at line 145 of file SATResolver.h.

Member Data Documentation

ResPool zypp::solver::detail::SATResolver::_pool
private

Definition at line 74 of file SATResolver.h.

Pool* zypp::solver::detail::SATResolver::_SATPool
private

Definition at line 75 of file SATResolver.h.

Solver* zypp::solver::detail::SATResolver::_solv
private

Definition at line 76 of file SATResolver.h.

Queue zypp::solver::detail::SATResolver::_jobQueue
private

Definition at line 77 of file SATResolver.h.

PoolItemList zypp::solver::detail::SATResolver::_problem_items
private

Definition at line 80 of file SATResolver.h.

PoolItemList zypp::solver::detail::SATResolver::_items_to_install
private

Definition at line 83 of file SATResolver.h.

PoolItemList zypp::solver::detail::SATResolver::_items_to_remove
private

Definition at line 84 of file SATResolver.h.

PoolItemList zypp::solver::detail::SATResolver::_items_to_lock
private

Definition at line 85 of file SATResolver.h.

PoolItemList zypp::solver::detail::SATResolver::_items_to_keep
private

Definition at line 86 of file SATResolver.h.

PoolItemList zypp::solver::detail::SATResolver::_result_items_to_install
private

Definition at line 89 of file SATResolver.h.

PoolItemList zypp::solver::detail::SATResolver::_result_items_to_remove
private

Definition at line 90 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_fixsystem

Definition at line 92 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_allowdowngrade

Definition at line 93 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_allowarchchange

Definition at line 94 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_allowvendorchange

Definition at line 95 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_allowuninstall

Definition at line 96 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_updatesystem

Definition at line 97 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_noupdateprovide

Definition at line 98 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_dosplitprovides

Definition at line 99 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_onlyRequires

Definition at line 100 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_ignorealreadyrecommended

Definition at line 101 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_distupgrade

Definition at line 102 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_distupgrade_removeunsupported

Definition at line 103 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_dup_allowdowngrade

Definition at line 104 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_dup_allownamechange

Definition at line 105 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_dup_allowarchchange

Definition at line 106 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_dup_allowvendorchange

Definition at line 107 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_solveSrcPackages

Definition at line 108 of file SATResolver.h.

bool zypp::solver::detail::SATResolver::_cleandepsOnRemove

Definition at line 109 of file SATResolver.h.


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