libzypp  17.14.0
zypp::ResolverProblem Class Reference

Describe a solver problem and offer solutions. More...

#include <ResolverProblem.h>

Inheritance diagram for zypp::ResolverProblem:

Classes

class  Impl
 ResolverProblem implementation. More...
 

Public Member Functions

 ResolverProblem ()
 Constructor. More...
 
 ResolverProblem (std::string description)
 Constructor. More...
 
 ResolverProblem (std::string description, std::string details)
 Constructor. More...
 
 ResolverProblem (std::string description, std::string details, std::vector< std::string > &&completeProblemInfo)
 Constructor. More...
 
 ~ResolverProblem ()
 Destructor. More...
 
const std::string & description () const
 Return a one-line description of the problem. More...
 
const std::string & details () const
 Return a (possibly muti-line) detailed description of the problem or an empty string if there are no useful details. More...
 
const std::vector< std::string > & completeProblemInfo () const
 Return a one-line description for each problematic rule in the problem tree. More...
 
const ProblemSolutionListsolutions () const
 Return the possible solutions to this problem. More...
 
void setDescription (std::string description)
 Set description of the problem. More...
 
void setDetails (std::string details)
 Set detail description of the problem. More...
 
void addSolution (ProblemSolution_Ptr solution, bool inFront=false)
 Add a solution to this problem. More...
 
- Public Member Functions inherited from zypp::base::ReferenceCounted
 ReferenceCounted ()
 Default ctor. More...
 
 ReferenceCounted (const ReferenceCounted &rhs)
 Copy ctor. More...
 
virtual ~ReferenceCounted ()
 Dtor. More...
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment. More...
 
unsigned refCount () const
 Return reference counter value. More...
 
void ref () const
 Add a reference. More...
 
void unref () const
 Release a reference. More...
 

Private Attributes

RWCOW_pointer< Impl_pimpl
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &, const ResolverProblem &obj)
 
std::ostream & operator<< (std::ostream &, const ResolverProblemList &obj)
 

Additional Inherited Members

- Static Public Member Functions inherited from zypp::base::ReferenceCounted
static void add_ref (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference. More...
 
static void release (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference. More...
 
- Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual std::ostream & dumpOn (std::ostream &str) const
 Overload to realize std::ostream & operator<<. More...
 
virtual void ref_to (unsigned) const
 Trigger derived classes after refCount was increased. More...
 
virtual void unref_to (unsigned) const
 Trigger derived classes after refCount was decreased. More...
 

Detailed Description

Describe a solver problem and offer solutions.

Definition at line 26 of file ResolverProblem.h.

Constructor & Destructor Documentation

◆ ResolverProblem() [1/4]

zypp::ResolverProblem::ResolverProblem ( )

Constructor.

Definition at line 92 of file ResolverProblem.cc.

◆ ResolverProblem() [2/4]

zypp::ResolverProblem::ResolverProblem ( std::string  description)

Constructor.

Definition at line 96 of file ResolverProblem.cc.

◆ ResolverProblem() [3/4]

zypp::ResolverProblem::ResolverProblem ( std::string  description,
std::string  details 
)

Constructor.

Definition at line 100 of file ResolverProblem.cc.

◆ ResolverProblem() [4/4]

zypp::ResolverProblem::ResolverProblem ( std::string  description,
std::string  details,
std::vector< std::string > &&  completeProblemInfo 
)

Constructor.

Definition at line 104 of file ResolverProblem.cc.

◆ ~ResolverProblem()

zypp::ResolverProblem::~ResolverProblem ( )

Destructor.

Definition at line 108 of file ResolverProblem.cc.

Member Function Documentation

◆ description()

const std::string & zypp::ResolverProblem::description ( ) const

Return a one-line description of the problem.

Definition at line 112 of file ResolverProblem.cc.

◆ details()

const std::string & zypp::ResolverProblem::details ( ) const

Return a (possibly muti-line) detailed description of the problem or an empty string if there are no useful details.

Definition at line 115 of file ResolverProblem.cc.

◆ completeProblemInfo()

const std::vector< std::string > & zypp::ResolverProblem::completeProblemInfo ( ) const

Return a one-line description for each problematic rule in the problem tree.

Definition at line 121 of file ResolverProblem.cc.

◆ solutions()

const ProblemSolutionList & zypp::ResolverProblem::solutions ( ) const

Return the possible solutions to this problem.

All problems should have at least 2-3 (mutually exclusive) solutions:

  • Undo: Do not perform the offending transaction (do not install the package that had unsatisfied requirements, do not remove the package that would break other packages' requirements)
  • Remove referrers: Remove all packages that would break because they depend on the package that is requested to be removed
  • Ignore: Inject artificial "provides" for a missing requirement (pretend that requirement is satisfied)

Definition at line 118 of file ResolverProblem.cc.

◆ setDescription()

void zypp::ResolverProblem::setDescription ( std::string  description)

Set description of the problem.

Definition at line 124 of file ResolverProblem.cc.

◆ setDetails()

void zypp::ResolverProblem::setDetails ( std::string  details)

Set detail description of the problem.

Definition at line 127 of file ResolverProblem.cc.

◆ addSolution()

void zypp::ResolverProblem::addSolution ( ProblemSolution_Ptr  solution,
bool  inFront = false 
)

Add a solution to this problem.

This class takes over ownership of the problem and will delete it when neccessary.

Definition at line 130 of file ResolverProblem.cc.

Friends And Related Function Documentation

◆ operator<<() [1/2]

std::ostream & operator<< ( std::ostream &  ,
const ResolverProblem obj 
)
related

Stream output

Definition at line 142 of file ResolverProblem.cc.

◆ operator<<() [2/2]

std::ostream & operator<< ( std::ostream &  ,
const ResolverProblemList obj 
)
related

Stream output

Definition at line 154 of file ResolverProblem.cc.

Member Data Documentation

◆ _pimpl

RWCOW_pointer<Impl> zypp::ResolverProblem::_pimpl
private

Definition at line 92 of file ResolverProblem.h.


The documentation for this class was generated from the following files: