#ifndef ZYPP_SOLVER_DETAIL_SAT_RESOLVER_H
#define ZYPP_SOLVER_DETAIL_SAT_RESOLVER_H
-
+#ifndef ZYPP_USE_RESOLVER_INTERNALS
+#error Do not directly include this file!
+#else
extern "C"
{
#include <solv/solver.h>
#include "zypp/Capability.h"
#include "zypp/solver/detail/SolverQueueItem.h"
+#include "zypp/sat/detail/PoolMember.h"
+
/////////////////////////////////////////////////////////////////////////
namespace zypp
{ ///////////////////////////////////////////////////////////////////////
* via solver::detail::Resolver to SATResolver is pedestrian and error prone.
* Introdce a dedicated solver option structure which is passed down as a whole.
*/
-class SATResolver : public base::ReferenceCounted, private base::NonCopyable {
+class SATResolver : public base::ReferenceCounted, private base::NonCopyable, private sat::detail::PoolMember
+{
private:
ResPool _pool;
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 {return _fixsystem;}
void setFixsystem ( const bool fixsystem) { _fixsystem = fixsystem;}
void setCleandepsOnRemove( bool state_r ) { _cleandepsOnRemove = state_r; }
PoolItemList problematicUpdateItems( void ) const { return _problem_items; }
+ PoolItemList problematicUpdateItems() { return _problem_items; }
PoolItemList resultItemsToInstall () { return _result_items_to_install; }
PoolItemList resultItemsToRemove () { return _result_items_to_remove; }
- PoolItemList problematicUpdateItems() { return _problem_items; }
sat::StringQueue autoInstalled() const;
sat::StringQueue userInstalled() const;
///////////////////////////////////////////////////////////////////////
};// namespace zypp
/////////////////////////////////////////////////////////////////////////
-
+#endif // ZYPP_USE_RESOLVER_INTERNALS
#endif // ZYPP_SOLVER_DETAIL_SAT_RESOLVER_H