libzypp  17.36.3
zypp::ProblemSolution Class Reference

Class representing one possible solution to a problem found during resolving. More...

#include <zypp/ProblemSolution.h>

Inheritance diagram for zypp::ProblemSolution:

Classes

class  Impl
 ProblemSolution implementation. More...
 

Public Types

using SolutionAction_Ptr = solver::detail::SolutionAction_Ptr
 
using SolutionActionList = solver::detail::SolutionActionList
 

Public Member Functions

 ProblemSolution ()
 Constructor. More...
 
 ProblemSolution (std::string description)
 Constructor. More...
 
 ProblemSolution (std::string description, std::string details)
 Constructor. More...
 
 ~ProblemSolution () override
 Destructor. More...
 
const std::string & description () const
 Return a one-line text description of this solution. More...
 
const std::string & details () const
 Return a (possibly multi-line) detailed description of this solution or an empty string if there are no useful details. More...
 
const SolutionActionListactions () const
 Return the list of actions forming this solution. More...
 
void setDescription (std::string description)
 Set description of the solution. More...
 
void setDetails (const std::string &details)
 Set detail description of the solution. More...
 
void pushDescriptionDetail (std::string description, bool front=false)
 Collect multiple action descriptions in details (NL separated) More...
 
void addAction (const SolutionAction_Ptr &action)
 Add an action to the actions list. More...
 
bool skipsPatchesOnly () const
 The solution contains only 'do not install patch:' actions. 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 ProblemSolution &obj) ZYPP_API
 
std::ostream & operator<< (std::ostream &, const ProblemSolutionList &obj) ZYPP_API
 

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

Class representing one possible solution to a problem found during resolving.

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 40 of file ProblemSolution.h.

Member Typedef Documentation

◆ SolutionAction_Ptr

using zypp::ProblemSolution::SolutionAction_Ptr = solver::detail::SolutionAction_Ptr

Definition at line 43 of file ProblemSolution.h.

◆ SolutionActionList

Constructor & Destructor Documentation

◆ ProblemSolution() [1/3]

zypp::ProblemSolution::ProblemSolution ( )

Constructor.

Definition at line 90 of file ProblemSolution.cc.

◆ ProblemSolution() [2/3]

zypp::ProblemSolution::ProblemSolution ( std::string  description)

Constructor.

Definition at line 94 of file ProblemSolution.cc.

◆ ProblemSolution() [3/3]

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

Constructor.

Definition at line 98 of file ProblemSolution.cc.

◆ ~ProblemSolution()

zypp::ProblemSolution::~ProblemSolution ( )
override

Destructor.

Definition at line 102 of file ProblemSolution.cc.

Member Function Documentation

◆ description()

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

Return a one-line text description of this solution.

Definition at line 106 of file ProblemSolution.cc.

◆ details()

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

Return a (possibly multi-line) detailed description of this solution or an empty string if there are no useful details.

Definition at line 109 of file ProblemSolution.cc.

◆ actions()

const ProblemSolution::SolutionActionList & zypp::ProblemSolution::actions ( ) const

Return the list of actions forming this solution.

Definition at line 112 of file ProblemSolution.cc.

◆ setDescription()

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

Set description of the solution.

Definition at line 116 of file ProblemSolution.cc.

◆ setDetails()

void zypp::ProblemSolution::setDetails ( const std::string &  details)

Set detail description of the solution.

Definition at line 119 of file ProblemSolution.cc.

◆ pushDescriptionDetail()

void zypp::ProblemSolution::pushDescriptionDetail ( std::string  description,
bool  front = false 
)

Collect multiple action descriptions in details (NL separated)

Definition at line 122 of file ProblemSolution.cc.

◆ addAction()

void zypp::ProblemSolution::addAction ( const SolutionAction_Ptr action)

Add an action to the actions list.

Definition at line 143 of file ProblemSolution.cc.

◆ skipsPatchesOnly()

bool zypp::ProblemSolution::skipsPatchesOnly ( ) const

The solution contains only 'do not install patch:' actions.

Definition at line 146 of file ProblemSolution.cc.

Friends And Related Function Documentation

◆ operator<<() [1/2]

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

Stream output

Definition at line 161 of file ProblemSolution.cc.

◆ operator<<() [2/2]

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

Stream output

Definition at line 171 of file ProblemSolution.cc.

Member Data Documentation

◆ _pimpl

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

Definition at line 106 of file ProblemSolution.h.


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