#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
-