Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

PkgDep::ErrorResult Struct Reference

#include <PkgDep.h>

Inheritance diagram for PkgDep::ErrorResult:

PkgDep::Result List of all members.

Public Member Functions

 ErrorResult (const PkgDep &pkgdep, PMSolvablePtr pkg)
 ErrorResult (const PkgDep &pkgdep, const PkgName &name)
 ErrorResult (const Result &res)
void add_unresolvable (PMSolvablePtr s, const PkgRelation &rel)
void add_conflict (const PkgRevRelation &rrel, const PkgDep &dep, PMSolvablePtr to_remove, PMSolvablePtr assume_instd, RelInfo::Kind kind=RelInfo::CONFLICT)
void add_conflict (PMSolvablePtr s, const PkgRelation &rel, const PkgDep &dep, PMSolvablePtr to_remove, PMSolvablePtr assume_instd, RelInfo::Kind kind=RelInfo::CONFLICT)
void add_alternative (PMSolvablePtr p, alternative_kind k)
void add_notes (const Notes &notes)

Public Attributes

bool not_available
NeededEditionRange not_avail_range
RelInfoList unresolvable
std::list< Alternativealternatives
RelInfoList conflicts_with
SolvableList remove_to_solve_conflict
SolvableList remove_referers
bool state_change_not_possible

Detailed Description

The ErrorResult structure is derived from Result and thus also contains its fields. It additionally carries information about errors that happened


Constructor & Destructor Documentation

PkgDep::ErrorResult::ErrorResult const PkgDep pkgdep,
PMSolvablePtr  pkg
[inline]
 

PkgDep::ErrorResult::ErrorResult const PkgDep pkgdep,
const PkgName name
[inline]
 

PkgDep::ErrorResult::ErrorResult const Result res  )  [inline]
 


Member Function Documentation

void PkgDep::ErrorResult::add_alternative PMSolvablePtr  p,
alternative_kind  k
 

void PkgDep::ErrorResult::add_conflict PMSolvablePtr  s,
const PkgRelation rel,
const PkgDep dep,
PMSolvablePtr  to_remove,
PMSolvablePtr  assume_instd,
RelInfo::Kind  kind = RelInfo::CONFLICT
 

This Result has a problem with s and its relation rel. To solve the conflict, to_remove must be removed/not installed.

void PkgDep::ErrorResult::add_conflict const PkgRevRelation rrel,
const PkgDep dep,
PMSolvablePtr  to_remove,
PMSolvablePtr  assume_instd,
RelInfo::Kind  kind = RelInfo::CONFLICT
 

void PkgDep::ErrorResult::add_notes const Notes notes  ) 
 

Reimplemented from PkgDep::Result.

void PkgDep::ErrorResult::add_unresolvable PMSolvablePtr  s,
const PkgRelation rel
 


Member Data Documentation

std::list<Alternative> PkgDep::ErrorResult::alternatives
 

If this list is not empty, it means that the package is a virtual package and there is more than one real package that provides it, and that the alternative has not been solved automatically. The Alternatives give the name of each possible alternative and its kind (simple, requires more, generates a conflict).

RelInfoList PkgDep::ErrorResult::conflicts_with
 

This field lists all kinds of conflicts of the package with installed packages or other packages to be installed. The RelInfos can be requirements conflicts or obsoletions. An entry can be generated if:

  • if an already installed package conflicts with the new one

  • if the new package conflicts with an installed one

  • if a previously satisfied requirement of an installed package is broken by installing (probably upgrading) this package (in this case kind in the RelInfo is REQUIREMENT)

  • if an already installed package obsoletes this one (kind = OBSOLETION, together with state_change_not_possible
  • if this package obsoletes an installed one (kind = OBSOLETION, together with state_change_not_possible

NeededEditionRange PkgDep::ErrorResult::not_avail_range
 

This field gives details about the editions that would be needed to satisfy the requirements. For interpretation, see the description of NeededEditionRange above. It s meaningful only if not_available is set. Otherwise, not_avail_range.allows_any() is true.

bool PkgDep::ErrorResult::not_available
 

true if this pkg is required but not available, not_avail_range gives details

SolvableList PkgDep::ErrorResult::remove_referers
 

similar list to refers, but recursively resolved. You'll have to remove all of them if the affected package should not be installed. This is currently computed in PMManager, not PkgDep.

SolvableList PkgDep::ErrorResult::remove_to_solve_conflict
 

This is an auxiliary field to conflicts_with. The conflicts disappear if all the packages listed would be removed. This list is generated by a rather simple algorithm and does not have any knowledge about the installation. If something conflicts with libc, expect that the list contains nearly all installed packages :-)

bool PkgDep::ErrorResult::state_change_not_possible
 

package should be set to auto install, but the user's decission prevented that

RelInfoList PkgDep::ErrorResult::unresolvable
 

This lists the requirements of the package that could not be resolved. The RelInfos can never be conflicts. For each missing package, there s a separate entry in the error result list with not_available set.


The documentation for this struct was generated from the following files:
Generated on Fri Nov 9 14:30:32 2007 for yast2-packagemanager by doxygen 1.3.6