libzypp  17.7.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 ()
 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 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 25 of file ResolverProblem.h.

Constructor & Destructor Documentation

◆ ResolverProblem() [1/3]

zypp::ResolverProblem::ResolverProblem ( )

Constructor.

Definition at line 85 of file ResolverProblem.cc.

◆ ResolverProblem() [2/3]

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

Constructor.

Definition at line 89 of file ResolverProblem.cc.

◆ ResolverProblem() [3/3]

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

Constructor.

Definition at line 93 of file ResolverProblem.cc.

◆ ~ResolverProblem()

zypp::ResolverProblem::~ResolverProblem ( )

Destructor.

Definition at line 97 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 101 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 104 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 107 of file ResolverProblem.cc.

◆ setDescription()

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

Set description of the problem.

Definition at line 111 of file ResolverProblem.cc.

◆ setDetails()

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

Set detail description of the problem.

Definition at line 114 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 117 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 129 of file ResolverProblem.cc.

◆ operator<<() [2/2]

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

Stream output

Definition at line 141 of file ResolverProblem.cc.

Member Data Documentation

◆ _pimpl

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

Definition at line 84 of file ResolverProblem.h.


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