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 ProblemSolutionList & solutions () 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...
 
ReferenceCounted & operator= (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: