libzypp  13.10.6
zypp::ResolverProblem Class Reference

#include <ResolverProblem.h>

Inheritance diagram for zypp::ResolverProblem:
zypp::base::ReferenceCounted

Public Member Functions

 ResolverProblem (const std::string &description, const std::string &details)
 Constructor. More...
 
 ~ResolverProblem ()
 Destructor. More...
 
std::string description () const
 Return a one-line description of the problem. More...
 
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...
 
void setDescription (const std::string &description)
 Set description of the problem. More...
 
void setDetails (const std::string &detail)
 Set detail description of the problem. More...
 
ProblemSolutionList solutions () const
 Return the possible solutions to this problem. More...
 
Resolver_constPtr resolver () const
 Return the parent dependency resolver. 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 Member Functions

void clear ()
 Clear all data. More...
 

Private Attributes

Resolver_constPtr _resolver
 
std::string _description
 
std::string _details
 
ProblemSolutionList _solutions
 

Friends

std::ostream & operator<< (std::ostream &, const ResolverProblem &problem)
 

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

Definition at line 24 of file ResolverProblem.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 67 of file ResolverProblem.cc.

zypp::ResolverProblem::~ResolverProblem ( )

Destructor.

Definition at line 76 of file ResolverProblem.cc.

Member Function Documentation

void zypp::ResolverProblem::clear ( )
private

Clear all data.

In particular, delete all members of _solutions.

Definition at line 118 of file ResolverProblem.cc.

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

Return a one-line description of the problem.

Definition at line 65 of file ResolverProblem.h.

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

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

Definition at line 71 of file ResolverProblem.h.

void zypp::ResolverProblem::setDescription ( const std::string &  description)
inline

Set description of the problem.

Definition at line 76 of file ResolverProblem.h.

void zypp::ResolverProblem::setDetails ( const std::string &  detail)
inline

Set detail description of the problem.

Definition at line 82 of file ResolverProblem.h.

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 96 of file ResolverProblem.cc.

Resolver_constPtr zypp::ResolverProblem::resolver ( ) const
inline

Return the parent dependency resolver.

Definition at line 104 of file ResolverProblem.h.

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 107 of file ResolverProblem.cc.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const ResolverProblem problem 
)
friend

Member Data Documentation

Resolver_constPtr zypp::ResolverProblem::_resolver
private

Definition at line 39 of file ResolverProblem.h.

std::string zypp::ResolverProblem::_description
private

Definition at line 40 of file ResolverProblem.h.

std::string zypp::ResolverProblem::_details
private

Definition at line 41 of file ResolverProblem.h.

ProblemSolutionList zypp::ResolverProblem::_solutions
private

Definition at line 42 of file ResolverProblem.h.


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