9 #ifndef ZYPP_SOLVER_DETAIL_SOLUTIONACTION_H 10 #define ZYPP_SOLVER_DETAIL_SOLUTIONACTION_H 11 #ifndef ZYPP_USE_RESOLVER_INTERNALS 12 #error Do not directly include this file! 43 class SolutionAction :
public base::ReferenceCounted
50 virtual ~SolutionAction();
52 virtual std::ostream &
dumpOn( std::ostream &
str )
const;
62 virtual PoolItem item()
const;
65 virtual bool skipsPatchesOnly()
const;
68 inline std::ostream &
operator<<( std::ostream &
str,
const SolutionAction & action )
69 {
return action.dumpOn(
str ); }
87 REMOVE_EXTRA_CONFLICT,
89 REMOVE_SOLVE_QUEUE_ITEM,
92 class TransactionSolutionAction:
public SolutionAction
95 TransactionSolutionAction( PoolItem item, TransactionKind action )
101 TransactionSolutionAction( Capability capability, TransactionKind action )
104 , _capability( capability )
107 TransactionSolutionAction( SolverQueueItem_Ptr item, TransactionKind action )
110 , _solverQueueItem( item )
113 TransactionSolutionAction( TransactionKind action )
118 std::ostream &
dumpOn( std::ostream &
str )
const override;
123 PoolItem item()
const override 126 bool skipsPatchesOnly()
const override;
129 const TransactionKind _action;
132 Capability _capability;
133 SolverQueueItem_Ptr _solverQueueItem;
143 } InjectSolutionKind;
152 class InjectSolutionAction:
public SolutionAction
155 InjectSolutionAction( PoolItem item,
const InjectSolutionKind & kind )
161 std::ostream &
dumpOn( std::ostream &
str )
const override;
166 PoolItem item()
const override 170 const InjectSolutionKind _kind;
185 #endif // ZYPP_USE_RESOLVER_INTERNALS 186 #endif // ZYPP_SOLVER_DETAIL_SOLUTIONACTION_H
String related utilities and Regular expression matching.
Resolver ResolverInternal
Preferred name in API.
DEFINE_PTR_TYPE(HelixResolvable)
std::ostream & operator<<(std::ostream &str, const SolutionActionList &actionlist)
std::ostream & dumpOn(std::ostream &str, const Capability &obj)
std::list< SolutionAction_Ptr > SolutionActionList
Easy-to use interface to the ZYPP dependency resolver.