22 #include <solv/solver.h>
25 #define ZYPP_USE_RESOLVER_INTERNALS
50 os <<
"[" << (_soft?
"Soft":
"") <<
"InstallOneOf: ";
51 for (PoolItemList::const_iterator iter = _oneOfList.begin();
52 iter != _oneOfList.end();
65 , _oneOfList (itemList)
80 MIL <<
"Install one of " << (
_soft ?
"(soft):" :
":")<< endl;
84 queue_push( &(q), SOLVER_INSTALL | SOLVER_SOLVABLE_ONE_OF | SOLVER_WEAK);
86 queue_push( &(q), SOLVER_INSTALL | SOLVER_SOLVABLE_ONE_OF );
91 Id
id = (*iter)->satSolvable().id();
93 ERR << *iter <<
" not found" << endl;
96 MIL <<
" candidate:" << *iter <<
" with the SAT-Pool ID: " <<
id << endl;
97 queue_push( &(qs),
id );
101 queue_push( &(q), pool_queuetowhatprovides(satPool.
get(), &qs));
111 new_installOneOf->SolverQueueItem::copy(
this);
112 new_installOneOf->_soft =
_soft;
114 return new_installOneOf;
120 int cmp = this->compare (item);
125 return (
_oneOfList == install->_oneOfList) ? 0 : -1;
virtual ~SolverQueueItemInstallOneOf()
detail::CPool * get() const
Expert backdoor.
virtual bool addRule(sat::detail::CQueue &q)
std::list< PoolItem > PoolItemList
static Pool instance()
Singleton ctor.
SolverQueueItemInstallOneOf(const ResPool &pool, const PoolItemList &itemList, bool soft=false)
virtual std::ostream & dumpOn(std::ostream &str) const
virtual SolverQueueItem_Ptr copy(void) const
IMPL_PTR_TYPE(SATResolver)
virtual int cmp(SolverQueueItem_constPtr item) const
::_Queue CQueue
Wrapped libsolv C data type exposed as backdoor.