Imported Upstream version 16.3.2
[platform/upstream/libzypp.git] / zypp / solver / detail / ProblemSolutionIgnore.h
index a4e0efb..0ed4566 100644 (file)
 
 #ifndef ZYPP_SOLVER_DETAIL_PROBLEMSOLUTIONIGNORE_H
 #define ZYPP_SOLVER_DETAIL_PROBLEMSOLUTIONIGNORE_H
+#ifndef ZYPP_USE_RESOLVER_INTERNALS
+#error Do not directly include this file!
+#else
+
+#include <list>
 
-#include "zypp/solver/detail/Types.h"
 #include "zypp/ProblemSolution.h"
+#include "zypp/PoolItem.h"
 
 /////////////////////////////////////////////////////////////////////////
 namespace zypp
-{ ///////////////////////////////////////////////////////////////////////
+{
   ///////////////////////////////////////////////////////////////////////
   namespace solver
-  { /////////////////////////////////////////////////////////////////////
+  {
     /////////////////////////////////////////////////////////////////////
     namespace detail
-    { ///////////////////////////////////////////////////////////////////
-
-       /**
-        * Class representing one possible solution to one problem found during resolving
-        * This problem solution ignores one or more items
-        * 
-        **/
-       class ProblemSolutionIgnoreConflicts : public ProblemSolution
-       {
-       public:
-
-           /**
-            * Constructor.
-            **/
-           ProblemSolutionIgnoreConflicts( ResolverProblem_Ptr parent,
-                                           PoolItem_Ref item,
-                                           const Capability & capability,
-                                           PoolItem_Ref otherItem);
-           ProblemSolutionIgnoreConflicts( ResolverProblem_Ptr parent,
-                                           PoolItem_Ref item,
-                                           const Capability & capability,
-                                           PoolItemList itemList);         
-       };
-
-       class ProblemSolutionIgnoreRequires : public ProblemSolution
-       {
-       public:
-
-           /**
-            * Constructor.
-            **/
-           ProblemSolutionIgnoreRequires( ResolverProblem_Ptr parent,
-                                          PoolItem_Ref item,
-                                          const Capability & capability);
-           ProblemSolutionIgnoreRequires( ResolverProblem_Ptr parent,
-                                          PoolItemList itemList,
-                                          const Capability & capability);
-       };
-
-       class ProblemSolutionIgnoreObsoletes : public ProblemSolution
-       {
-       public:
+    {
+      /////////////////////////////////////////////////////////////////////////
+      /// \class ProblemSolutionIgnore
+      /// \brief Class representing one possible solution to one problem found during resolving.
+      ///
+      /// This problem solution ignores one or more items by setting their
+      ///  dependencies to weak
+      /////////////////////////////////////////////////////////////////////////
+      class ProblemSolutionIgnore : public ProblemSolution
+      {
+      public:
+       typedef std::list<PoolItem> PoolItemList;
 
-           /**
-            * Constructor.
-            **/
-           ProblemSolutionIgnoreObsoletes( ResolverProblem_Ptr parent,
-                                           PoolItem_Ref item,
-                                           const Capability & capability,
-                                           PoolItem_Ref otherItem);        
-       };
+       ProblemSolutionIgnore( PoolItem item );
+       ProblemSolutionIgnore( PoolItemList itemList );
+      };
 
-       class ProblemSolutionIgnoreInstalled : public ProblemSolution
-       {
-       public:
-
-           /**
-            * Constructor.
-            **/
-           ProblemSolutionIgnoreInstalled( ResolverProblem_Ptr parent,
-                                           PoolItem_Ref item,
-                                           PoolItem_Ref otherItem);  
-       };
-       
-
-      ///////////////////////////////////////////////////////////////////
-    };// namespace detail
-    /////////////////////////////////////////////////////////////////////
+    } // namespace detail
     /////////////////////////////////////////////////////////////////////
-  };// namespace solver
+  } // namespace solver
   ///////////////////////////////////////////////////////////////////////
-  ///////////////////////////////////////////////////////////////////////
-};// namespace zypp
+} // namespace zypp
 /////////////////////////////////////////////////////////////////////////
-
+#endif // ZYPP_USE_RESOLVER_INTERNALS
 #endif // ZYPP_SOLVER_DETAIL_PROBLEMSOLUTIONIGNORE_H
-