Imported Upstream version 14.45.0
[platform/upstream/libzypp.git] / zypp / solver / detail / SATResolver.h
index 2eb5715..7c8474c 100644 (file)
@@ -21,9 +21,7 @@
 
 #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>
@@ -45,8 +43,6 @@ extern "C"
 #include "zypp/Capability.h"
 #include "zypp/solver/detail/SolverQueueItem.h"
 
-#include "zypp/sat/detail/PoolMember.h"
-
 /////////////////////////////////////////////////////////////////////////
 namespace zypp
 { ///////////////////////////////////////////////////////////////////////
@@ -72,14 +68,13 @@ 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, private sat::detail::PoolMember
-{
+class SATResolver : public base::ReferenceCounted, private base::NonCopyable {
 
   private:
     ResPool _pool;
-    sat::detail::CPool *_satPool;
-    sat::detail::CSolver *_satSolver;
-    sat::detail::CQueue _jobQueue;
+    Pool *_SATPool;
+    Solver *_solv;
+    Queue _jobQueue;
 
     // list of problematic items (orphaned)
     PoolItemList _problem_items;
@@ -141,7 +136,7 @@ class SATResolver : public base::ReferenceCounted, private base::NonCopyable, pr
 
   public:
 
-    SATResolver (const ResPool & pool, sat::detail::CPool *satPool);
+    SATResolver (const ResPool & pool, Pool *SATPool);
     virtual ~SATResolver();
 
     // ---------------------------------- I/O
@@ -169,6 +164,15 @@ class SATResolver : public base::ReferenceCounted, private base::NonCopyable, pr
     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;}
 
@@ -212,10 +216,10 @@ class SATResolver : public base::ReferenceCounted, private base::NonCopyable, pr
     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;
@@ -230,5 +234,5 @@ class SATResolver : public base::ReferenceCounted, private base::NonCopyable, pr
   ///////////////////////////////////////////////////////////////////////
 };// namespace zypp
 /////////////////////////////////////////////////////////////////////////
-#endif // ZYPP_USE_RESOLVER_INTERNALS
+
 #endif // ZYPP_SOLVER_DETAIL_SAT_RESOLVER_H