|
Public Types |
typedef Alternatives::AltDefaultList(* | AlternativesCallback )(PkgName name) |
typedef std::list< PkgName > | NameList |
typedef NameList::iterator | NameList_iterator |
typedef NameList::const_iterator | NameList_const_iterator |
typedef std::list< RelInfo > | RelInfoList |
typedef RelInfoList::iterator | RelInfoList_iterator |
typedef RelInfoList::const_iterator | RelInfoList_const_iterator |
typedef std::list< PMSolvablePtr > | SolvableList |
typedef std::list< Result > | ResultList |
typedef std::list< ErrorResult > | ErrorResultList |
typedef WhatToDoWithUnresolvable(* | DealWithUnresolvable_callback )(PkgDep *solver, const PkgRelation &rel, PMSolvablePtr &ptr) |
enum | alternative_kind { SIMPLE,
REQUIRES_MORE,
CONFLICT
} |
enum | alternatives_mode { ASK_ALWAYS,
ASK_IF_NO_DEFAULT,
AUTO_IF_NO_DEFAULT,
AUTO_ALWAYS
} |
enum | WhatToDoWithUnresolvable { UNRES_IGNORE = 0,
UNRES_TAKETHIS,
UNRES_FAIL
} |
Public Member Functions |
| PkgDep (PkgSet &instd, const PkgSet &avail, AlternativesCallback alternatives_callback=default_alternatives_callback, alternatives_mode m=default_alternatives_mode) |
bool | install (PkgSet &candidates, ResultList &good, ErrorResultList &bad, ErrorResultList &out_obsoleted, bool commit_to_installed=true, bool check_inconsistent=false) |
void | remove (SolvableList &pkgs) |
bool | consistent (ErrorResultList &failures) |
bool | solvesystemnoauto (PkgSet &candidates, ResultList &out_good, ErrorResultList &out_bad, ErrorResultList &out_obsoleted) |
const PkgSet & | current_installed () |
const PkgSet & | current_available () |
void | set_alternatives_mode (alternatives_mode mode) |
void | set_alternatives_callback (Alternatives::AltDefaultList(*alternatives_callback)(PkgName name)) |
void | set_unresolvable_callback (DealWithUnresolvable_callback callback) |
void | install_installed (bool yes) |
Static Public Member Functions |
void | set_default_alternatives_mode (alternatives_mode m) |
void | set_default_max_remove (unsigned mr) |
void | remove_package (PkgSet *set, PMSolvablePtr pkg, SolvableList &to_remove) |
unsigned | count_providers_for (const PkgSet *set, const PkgRelation &req) |
Public Attributes |
DealWithUnresolvable_callback | _unresolvable_callback |
Private Types |
typedef std::list< PkgRevRelation > | RevRelList |
typedef RevRelList::iterator | RevRelList_iterator |
typedef RevRelList::const_iterator | RevRelList_const_iterator |
typedef std::list< IRelInfo > | IRelInfoList |
typedef IRelInfoList::iterator | IRelInfoList_iterator |
typedef IRelInfoList::const_iterator | IRelInfoList_const_iterator |
typedef hash< PkgName, Notes > | Notes_type |
typedef Notes_type::iterator | Notes_iterator |
typedef Notes_type::const_iterator | Notes_const_iterator |
typedef std::deque< AltInfo > | AltInfoList |
typedef AltInfoList::iterator | AltInfo_iterator |
typedef AltInfoList::const_iterator | AltInfo_const_iterator |
enum | search_result { NONE,
ONE,
MULTI
} |
Private Member Functions |
void | add_package (PMSolvablePtr cand) |
search_result | search_for_provider (const PkgRelation &req, PMSolvablePtr referer, ErrorResult *res) |
bool | check_for_broken_reqs (PMSolvablePtr oldpkg, PMSolvablePtr newpkg, ErrorResult &res) |
bool | req_ok_after_upgrade (const PkgRelation &rel, PMSolvablePtr oldpkg, PMSolvablePtr newpkg) |
void | handle_alternative (const AltInfo &alt_info) |
bool | pkg_consistent (PMSolvablePtr pkg, ErrorResult *err) |
void | virtual_remove_package (PMSolvablePtr pkg, SolvableList &to_remove, PMSolvablePtr assume_instd=NULL) const |
bool | also_provided_by_installed (const PkgRelation &rel) |
PMSolvablePtr | upgrade_solves_conflict (PMSolvablePtr pkg, const PkgRelation &confl) |
PMSolvablePtr | try_upgrade_conflictor (PMSolvablePtr pkg, const PkgRelation &provides) |
PMSolvablePtr | try_upgrade_conflicted (PMSolvablePtr pkg, const PkgRelation &confl) |
PMSolvablePtr | try_upgrade_requirerer (PMSolvablePtr pkg, PMSolvablePtr oldpkg, PMSolvablePtr newpkg) |
PMSolvablePtr | available_upgrade (PMSolvablePtr pkg) |
void | do_upgrade_for_conflict (PMSolvablePtr upgrade) |
bool | has_conflict_with (const PkgRelation &confl, PMSolvablePtr pkg) |
void | add_referer (const PkgName &name, PMSolvablePtr referer, const PkgRelation &rel) |
void | add_referer (PMSolvablePtr pkg, PMSolvablePtr referer, const PkgRelation &rel) |
void | add_not_available (PMSolvablePtr referer, const PkgRelation &rel) |
void | inconsistent_to_candidates (PkgSet &candidates) |
Static Private Member Functions |
Alternatives::AltDefaultList | default_alternatives_callback (PkgName name) |
WhatToDoWithUnresolvable | default_unresolvable_callback (PkgDep *solver, const PkgRelation &rel, PMSolvablePtr &p) |
Private Attributes |
alternatives_mode | alt_mode |
PkgSet | installed |
const PkgSet & | available |
AlternativesCallback | _alternatives_callback |
PkgSet | vinstalled |
PkgSet * | candidates |
Notes_type | notes |
std::deque< PMSolvablePtr > | to_check |
AltInfoList | alts_to_check |
noval_hash< PkgName > | alts_handled |
ErrorResultList * | i_obsoleted |
ResultList * | good |
ErrorResultList * | bad |
bool | _install_installed |
Static Private Attributes |
alternatives_mode | default_alternatives_mode = ASK_IF_NO_DEFAULT |
unsigned | default_max_remove = 10 |