zypp::ProblemSolution Class Reference

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

#include <ProblemSolution.h>

Inheritance diagram for zypp::ProblemSolution:
[legend]

List of all members.

Public Member Functions

 ProblemSolution (ResolverProblem_Ptr parent, const std::string &description, const std::string &details)
 Constructor.
 ~ProblemSolution ()
 Destructor.
std::string description () const
 Return a one-line text description of this solution.
std::string details () const
 Return a (possibly multi-line) detailed description of this solution or an empty string if there are no useful details.
ResolverProblem_Ptr problem () const
 Return the parent dependency problem.
bool apply (solver::detail::Resolver &resolver)
 Apply this solution, i.e.
void addAction (solver::detail::SolutionAction_constPtr action)
 Add an action to the actions list.
solver::detail::CSolutionActionList actions ()

Protected Member Functions

void clear ()
 Clear all data.

Protected Attributes

ResolverProblem_Ptr _problem
solver::detail::CSolutionActionList _actions
std::string _description
std::string _details

Friends

std::ostream & operator<< (std::ostream &, const ProblemSolution &solution)
std::ostream & operator<< (std::ostream &, const ProblemSolutionList &solutionlist)
std::ostream & operator<< (std::ostream &, const CProblemSolutionList &solutionlist)


Detailed Description

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

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

Definition at line 42 of file ProblemSolution.h.


Constructor & Destructor Documentation

zypp::ProblemSolution::ProblemSolution ( ResolverProblem_Ptr  parent,
const std::string &  description,
const std::string &  details 
)

Constructor.

zypp::ProblemSolution::~ProblemSolution (  ) 

Destructor.

Definition at line 78 of file ProblemSolution.cc.


Member Function Documentation

void zypp::ProblemSolution::clear (  )  [protected]

Clear all data.

In particular, delete all members of _actions.

Definition at line 118 of file ProblemSolution.cc.

References _actions.

std::string zypp::ProblemSolution::description (  )  const [inline]

Return a one-line text description of this solution.

Definition at line 82 of file ProblemSolution.h.

References _description.

std::string zypp::ProblemSolution::details (  )  const [inline]

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

Definition at line 88 of file ProblemSolution.h.

References _details.

ResolverProblem_Ptr zypp::ProblemSolution::problem (  )  const [inline]

Return the parent dependency problem.

Definition at line 93 of file ProblemSolution.h.

References _problem.

bool zypp::ProblemSolution::apply ( solver::detail::Resolver resolver  ) 

Apply this solution, i.e.

execute all of its actions.

Returns 'true' on success, 'false' if actions could not be performed.

Definition at line 90 of file ProblemSolution.cc.

References _actions, and DBG.

void zypp::ProblemSolution::addAction ( solver::detail::SolutionAction_constPtr  action  ) 

solver::detail::CSolutionActionList zypp::ProblemSolution::actions (  )  [inline]

Definition at line 109 of file ProblemSolution.h.

References _actions.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const ProblemSolution solution 
) [friend]

std::ostream& operator<< ( std::ostream &  ,
const ProblemSolutionList solutionlist 
) [friend]

std::ostream& operator<< ( std::ostream &  ,
const CProblemSolutionList solutionlist 
) [friend]


Member Data Documentation

ResolverProblem_Ptr zypp::ProblemSolution::_problem [protected]

Definition at line 55 of file ProblemSolution.h.

Referenced by problem().

Definition at line 56 of file ProblemSolution.h.

Referenced by actions(), addAction(), apply(), clear(), and zypp::operator<<().

std::string zypp::ProblemSolution::_description [protected]

std::string zypp::ProblemSolution::_details [protected]


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

doxygen